「Web」サイトは、クラウドプロジェクトにWebRoleを追加するときに作成した新しいプロジェクトまたは選択した既存のプロジェクトです。したがって、WebRoleのデフォルトサイト(Web)は、そのWebプロジェクトに直接マップされます。
これは単に、RoleEntryPoint(WebRole.cs)にそのプロジェクトのアセンブリを使用することを意味します。そのため、そのプロジェクトの出力は、approot(RoleEntryPointが実行される場所)とsitesroot(IIS Webサイト)で使用されます。
これで、パッケージを小さく保ちたい場合は、WebRole.cs部分のみに機能するダミーサイトを作成し、それ以外に実際のサイトを作成できます。これにより、Azureにデプロイするときに3つの「フォルダー」が作成されます。
- approot=>ダミーサイトを含む非常に小さなディレクトリ
- sitesroot \0=>ダミーサイトを含む非常に小さなディレクトリ
- sitesroot \1=>実際のサイト
エンドポイントを操作して、ダミーサイトに内部エンドポイントを指定して、ダミーサイトが公開されていないことを確認します。
<WebRole name="MyWebRole" vmsize="Small">
<Sites>
<Site name="Web">
<Bindings>
<Binding name="Endpoint1" endpointName="DummyEndpoint" />
</Bindings>
</Site>
<Site name="RealWebApplication" physicalDirectory="..\MvcApplication1">
<Bindings>
<Binding name="Endpoint2" endpointName="RealEndpoint" />
</Bindings>
</Site>
</Sites>
<Endpoints>
<InputEndpoint name="RealEndpoint" protocol="http" port="80" />
<InternalEndpoint name="DummyEndpoint" protocol="http" />
</Endpoints>
...
</WebRole>
そして、ダミーのWebアプリケーションは次のようになります。