0

Azure で ISAPI DLL をホストする方法を見つけようとしています。DLL に加えて、サポート ファイル (javascript および css ファイル) をサブディレクトリに配置する必要があります。これらのサブディレクトリのうち 2 つは、DLL によって処理される要求によって内容が変更される可能性があるため、拡張機能を実行するアカウントにこれらの書き込み権限があることを確認する必要があります。

これらすべての鍵は、スタートアップ タスクを使用して appcmd を呼び出し、IIS のすべての変更を何らかの方法でスクリプト化することであると思われます。次のことを行う必要があると思います。

  • ISAPI DLL とサポート ファイルを ASP.NET Web サイトに展開する
  • appcmd.exe を使用してバッチ ファイルを呼び出し、次のことを行うスタートアップ タスクを作成します。
    • マネージド パイプライン モードをクラシックに設定し、既知のユーザー アカウントを使用して、専用アプリ プールを作成します。
    • ISAPI dll が存在するディレクトリを指す IIS アプリケーションを作成します。
    • 不明な ISAPI 拡張機能を許可するようにアプリケーションが構成されていることを確認します
    • アプリ プールに関連付けられたユーザー アカウントに書き込みアクセス権があるように、必要なサブディレクトリのアクセス許可を変更します。

私は Azure の探索を始めたばかりなので、それに関する私の経験は地面では非常に薄いです。私が達成したいことは実際に達成可能ですか?もしそうなら、私は必要なステップに関して正しい軌道に乗っていますか? 使い慣れた従来の IIS 環境でこの ISAPI DLL をセットアップする場合に必要なことを模倣していますが、Azure でルールが異なる場合はお知らせください。

4

2 に答える 2

0

良いシーケンスのように見えますが、IISが完全に構成される前に、スタートアップタスクが実際に実行されます。RoleEntryPointの「OnStart」イベントはIISのセットアップ後に呼び出されるため、Azureが作成するIISアプリケーションを使用し、ISAPIのものを含めるように再構成する方がおそらく簡単です。

于 2012-10-03T10:11:29.460 に答える
0

ここで私を悩ませているのは、「展開ドライブ」(E: その件に関して) のデータを変更していることだけです。あなたはこれをするべきではありません。

代わりに、別の解決策を考えてください。JavaScript と CSS ファイルを保持する LocalResource を作成できます。次に、役割が開始されたら (Richard はスタートアップ タスクについて有効な指摘をしています)、ServerManager クラスを使用して次のことを行います。

  1. ISAPI dllを登録する
  2. Azure によって作成された Web サイトの下に 2 つの仮想ディレクトリを追加し、それらが LocalResource を指すようにします。
  3. ISAPI dll のコードを変更して、LocalResource の JS/CSS ファイルを変更します。

Web/WorkerRoles で開発する場合は、LocalResource 内のファイルのみを操作する必要があることに注意する必要があります。

于 2012-10-03T10:36:40.907 に答える