投稿は、web.config設定をAzureワーカーロールに取り込むための最善の方法の説明で矛盾しているようです。一部の投稿では、WaIISHost.exe.configを作成し、出力を常に設定してから、関連するweb.config情報をそのファイルにコピーする必要があると述べています。他の投稿では、WaIISHost.exeの代わりにapp.configを作成する方法について説明しています。どちらが正しい?
2 に答える
これに対する答えは、使用しているSDKのバージョンによって少し異なります。何よりもまず、WaIISHost.exe.configはWebロールにのみ適用できます(ワーカーロールには適用できません)。ワーカーロールは、構成設定にapp.configを使用し、引き続き使用します。ここでは、構成設定でWebロールのRoleEntryPointを構成しようとしていると想定します。
現在、Webロールの場合:最新のSDK(執筆時点では1.8)を使用している場合、WaIISHost.exe.configファイルの作成(およびローカルのコピーなど)が機能しなくなっていることがわかります。最新のSDKで何かが変更され、それらの値を取得しなくなりました。SDKの以前のバージョンでは、これが引き続き実行されます。最新バージョン(およびおそらく次のバージョン)1.8の場合、app.configを作成できます。これを行うと、実際には「WebRoleProjectName.dll.config」のようなファイルがbinディレクトリに作成されます。このファイルを自分で手動で作成して「ローカルにコピー」する必要はありません。通常どおりにapp.configを作成するだけで、WebロールのRoleEntryPointをそのように適切に構成できることがわかります。
前回のSO の投稿で、Windows Azure Web サイトと Windows Azure クラウド サービスを混在させているため、その両方を理解するのに時間がかかることを示唆しました。
上記のように、Web ロールとワーカー ロールを混在させています。WaIISHost.exe は、Web ロール DLL の読み込みと実行を担当する Windows Azure Web ロール ホスト プロセスです。Windows Azure Worker ロールには存在しないため、このプロセスは Worker ロールとは関係ありません。このプロセスは、Web ロールでのみ利用できます。そのため、上記の「WaIISHost.exe.config 対 worker ロール構成の app.config」という質問は無関係です。
App.config 構成は Web ロールと Worker ロールの両方で使用されますが、web.config は Web アプリケーションでのみ使用されます。したがって、ロールのみを構成する場合は、app.config (Web ロールと worker ロールの両方) を使用できますが、Web サイトの構成には web.config を使用できます。
最終的な目的を簡単な言葉で書けば、それを行う方法について正確な支援と提案が得られるはずです。