0

Windows azure でネイティブ httpmodule (c++ 64 ビット dll) を実行したいと思います。第一に、これは可能であり、第二に、それを行うための最良の方法は何ですか?

以前は Azure でネイティブ dll を使用していましたが、正常に機能するマネージド c# httphandler 内にラップしましたが、今回はネイティブ dll を直接ホストしたいと考えています。IIS と同じように、Azure でネイティブ dll をホストすることは可能ですか?

4

2 に答える 2

0

はい、可能です。最近、AzureプロジェクトでアンマネージCライブラリを使用する必要があったため、C ++ / CLIラッパーを作成し、C#プロジェクトで参照するだけでした。
これが最も簡単な方法だと思います。そうしないと、P / Invokeを使用して、アンマネージネイティブコードをC#から直接呼び出す必要があります。

クラウド側では、Azureは2008 Visual C ++ランタイムライブラリを使用するため、VS2008を使用してC ++プロジェクトをコンパイルするか、Visual C++2010再頒布可能パッケージをクラウドにアップロードしてサイレントインストールすることをお勧めします。始めるとき。

興味があれば、ここにそれを行うための3つの簡単なステップをリストします。

于 2012-06-29T07:59:18.807 に答える
0

Windows Azure Web ロールを使用していると思いますが、Windows Azure Web ロールでは、IIS でのネイティブ HttpModule 構成は他の IIS サーバーと同じであり、ここでの唯一のトリックは、スタートアップ タスクを使用して AppCmd コマンドを実行してインストールすることです。ネイティブ モジュールを登録して構成します。

スタートアップ タスクに必要な基本的なコマンドは、次のようになります。

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

たとえば、ImageCopyrightModule という名前のモジュールを %windir%\system32\inetsrv ディレクトリの .dll ファイルに登録、有効化、およびロックするには、コマンド プロンプトで次のように入力し、Enter キーを押します。

appcmd install module /name: ImageCopyrightModule /image:c:/%windir%/system32/inetsrv/ imageCopyrightModule .dll /add:true /lock:true
于 2012-06-27T01:10:08.677 に答える