2012-06-26 1 views
0

Windows Azure에서 기본 httpmodule (C++ 64 비트 dll)을 실행하고 싶습니다. 첫째로 이것은 가능하고 둘째로, 이드는 그것에 대해 가장 좋은 방법은 무엇입니까?Azur의 HttpModule 네이티브 C++ dll

나는 하늘빛에 네이티브 dll을 사용했지만 관리되는 C# httphandler에 랩핑했습니다.하지만 이번에는 기본 dll을 직접 호스트하고 싶습니다. 하늘에서 네이티브 dll을 호스팅 할 수 있습니까? IIS에서와 마찬가지입니까?

답변

0

당신이 Windows Azure 웹 역할을 사용하고 있고 Azure 웹 역할에서 IIS가있는 기본 HttpModule 구성이 다른 IIS 서버와 같을 것이라고 생각합니다. 여기서 유일한 속임수는 AppCmd를 실행하는 시작 작업을 사용한다는 것입니다. 명령을 사용하여 네이티브 모듈을 설치, 등록 및 구성하십시오. 당신이 당신의 시작 작업에 필요

기본 명령은 다음과 유사합니다 : 예를 들어

appcmd install module /name: string /image: string /add:true|false /lock:true|false 

, 등록 활성화하고 %에서 .dll 파일과 모듈을 이름 ImageCopyrightModule을 잠그는 WINDIR % \ system32를 \ inetsrv를 디렉토리 명령 프롬프트에 다음을 입력 한 다음 Enter 키를 누릅니다

appcmd install module /name: ImageCopyrightModule /image:c:/%windir%/system32/inetsrv/ imageCopyrightModule .dll /add:true /lock:true 
0

예 그것은, 내가 최근에 있었다 그래서 내가 한 내 푸른 프로젝트 관리되지 않는 C 라이브러리를 사용했다 가능 그것을위한 C++/CLI 래퍼를 생성하고 간단히 그것을 참조하십시오. C# 프로젝트.
저는 이것이 가장 쉬운 방법이라고 생각합니다. 그렇지 않으면 P/Invoke를 사용하여 C#에서 직접 관리되지 않는 네이티브 코드를 호출해야합니다.

Azure는 2008 Visual C++ 런타임 라이브러리를 사용하므로 VS2008을 사용하여 C++ 프로젝트를 컴파일해야하며 더 좋은 방법은 Visual C++ 2010 Redistributable Package을 클라우드에 업로드하고 자동으로 설치하는 것입니다 시작에.

나는 간단한 방법으로 3 가지를 나열합니다. here 관심이 있으시면.