サービス定義ファイルによるIISの構成変更
ここからは、Windows Azure SDK 1.3で拡張されたFull IISの機能を確認していきたいと思います。
前述したとおり、Full IISの定義は、サービス定義ファイルのSites要素で定義します(リスト2)。複数サイトの構成を行うには、Site要素を複数回定義します。また、仮想アプリケーションや、仮想ディレクトリを構成するには、それぞれVirtualApplication要素、VirtualDirectory要素を定義することで行います。
<WebRole>
<Sites>
<Site name="<web-site-name>">
<VirtualApplication name="<application-name>"
physicalDirectory="<directory-path>"/>
<VirtualDirectory name="<directory-pat>"
physicalDirectory="<directory-path>"/>
<Bindings>
<Binding name="<binding-name>" endpointName="<endpoint-name-bound-to>"
hostHeader="<url-of-the-site>"/>
</Bindings>
</Site>
</Sites>
...
</WebRole>
各要素と属性についての意味は、以下の表を参照してください。
| 要素 | 属性 | 型 | 説明 |
| Sites | name | string | 必須。Webサイトの名前です。 |
| physicalDirectory | string | コンテンツディレクトリの場所です。絶対パスもしくは、サービス定義ファイルからの相対パスで指定します。 | |
| VirtualApplication | name | string | 必須。仮想アプリケーションの識別名を指定します。 |
| physicalDirectory | string |
必須。仮想アプリケーションのコンテンツが含まれている、開発マシン上のパスを指定します。 開発エミュレータの場合、IISはこの場所からコンテンツを取得します。Windows Azureにデプロイする場合は、この場所のコンテンンツがパッケージングされます。 |
|
| VirtualDirectory | name | string | 必須。仮想ディレクトリの識別名を指定します。 |
| physicalDirectory | string |
必須。仮想ディレクトリのコンテンツが含まれている、開発マシン上のパスを指定します。 開発エミュレータの場合、IISはこの場所からコンテンツを取得します。Windows Azureにデプロイする場合は、この場所のコンテンンツがパッケージングされます。 |
|
| Binding | name | string | 必須。バインドの識別名を指定します。 |
| endpointName | string | 必須。バインドするエンドポイントの名前を指定します。 | |
| hostHeader | string | 任意。ホストヘッダ名を指定します。複数サイトのホストヘッダによる切り替えに使用します。 |
さらに詳細なスキーマが知りたい方は、MSDNの「WebRole Schema」を参照してください。
ここからは、各機能のポイントを、サンプルプログラムをベースに説明していきます。プログラムの詳細は、サンプルファイルに含まれる各ソリューションを確認してください。
