次のように、1 つの Web ロールに 2 つのサイトが構成された Azure デプロイがあります。
<WebRole name="Studio" vmsize="Small">
<Sites>
<Site name="Studio" physicalDirectory="..\Studio">
<Bindings>
<Binding name="HttpIn" endpointName="HttpIn" hostHeader="studio.mydomain.localhost" />
</Bindings>
</Site>
<Site name="Admin" physicalDirectory="..\Admin">
<Bindings>
<Binding name="HttpIn" endpointName="HttpIn" hostHeader="admin.mydomain.localhost" />
</Bindings>
</Site>
</Sites>
<Endpoints>
<InputEndpoint name="HttpIn" protocol="http" port="80" />
</Endpoints>
<Imports>
<Import moduleName="Diagnostics" />
</Imports>
</WebRole>
また、hosts ファイルにマップされたアドレスもあります。
127.0.0.1 studio.mydomain.localhost
127.0.0.1 admin.mydomain.localhost
これは問題なく動作し、ブラウザで と を使用してテストするhttp://studio.mydomain.localhost:81/
とhttp://admin.mydomain.localhost:81/
、予想どおり 2 つの異なるインデックス ページが表示されます。
しかし、Visual Studio で F5 キーを押すと、起動しようとすることをhttp://127.0.0.1:81/
要求され、もちろん 404 Bad Request エラーが発生します。
F5 からすぐに VS に正しいアドレスを起動させる方法はありますか? ちょっとしたことですが、毎回住所を打ち直さなければならないのは時間がかかります。
また、F5 キーを押したときに、Azure はどのロールを起動するかをどのように選択するのでしょうか? 同じ Azure プロジェクトで Web サービス ロールを持っています。なぜそれを起動しようとしないのですか?それらは私が見逃している設定ですか、それとも ServiceDefinition.csdef に表示される順序によってすべて制御されていますか?
私は次の記事を見てきました(とりわけ)。どちらも有益ですが、どちらにもこれに対する答えはありません。
http://blog.elastacloud.com/2011/01/11/azure-running-multiple-web-sites-in-a-single-webrole/
http://msdn.microsoft.com/en-us/library/windowsazure/gg433110.aspx