数日前、Jason Zanderは彼のブログでVisual Studio 2010 SP1 Betaのリリースについて書いています(記事の最後にある以下のリンク)。 SP1 BetaがVisual StudioのIIS Expressと統合する機能を追加したというニュースを、皆さん、友人と共有できることを嬉しく思います。 この統合では、SP1 Betaをインストールした後、IIS Expressを個別にダウンロードする必要があります。 IIS Expressをダウンロードしてインストールすると、Cassini(Visual Studioでデフォルトで使用されるWebサーバー)の代わりにIIS Expressを使用するWebプロジェクトおよびWebサイトを作成できるようになります。 IIS Expressと本格的なIISまたはCassiniの違いの詳細については、Scott Guthrieのブログエントリをご覧ください。リンクは記事の最後に添付されています。 Visual Studio 2010には、Webアプリケーションプロジェクト(WAP)とWebサイトプロジェクトの2つのオプションがあります。 IIS Expressでは、両方のタイプのプロジェクトを使用できます。
IIS Expressを使用するためのWebプロジェクトの構成
以前にCassiniを使用していた両方のタイプのプロジェクト(WAPおよびWebサイト)は、IIS Expressを簡単に使用できます。 [IIS Expressを使用]コンテキストメニューから[IIS Expressを使用]オプションを選択するだけです。 このコマンドを示すスクリーンショットをご覧ください。

このコマンドを実行すると、プロジェクトはCassiniではなくIIS Expressを使用します。 Cassiniに戻るには、同じコンテキストメニューで「Visual Studio開発サーバーを使用...」コマンドを実行する必要があります。 さらに、IIS Expressをすべての新しいプロジェクトのデフォルトサーバーにすることができます。
Webサイトなどのプロジェクトを作成する場合、Cassiniの代わりにIIS Expressを使用するように指定できます。 File-> New-> Web Siteを実行すると、更新されたNew Web Siteダイアログが表示されます。 このウィンドウで、[参照]ボタンをクリックする必要があります(下のスクリーンショットを参照)。

その後、サイトを配置する場所の選択が提供されます。 ここで、「ローカルIIS」を選択して、IIS Expressでサイトを作成できます。

このウィンドウでは、「IIS Expressサイト」を選択し、右上隅の「新しいサイトを作成」ボタンをクリックする必要があります。 このコマンドを実行すると、プロジェクト用にIIS Expressでサイトが作成されます。
デフォルトのIIS Expressサーバーの設定
IIS Expressをすべての新しいWebプロジェクトのデフォルトサーバーとして設定するには、[ツール]-> [オプション]-> [プロジェクトとソリューション]-> [Webプロジェクト]のVisual Studioメニューに移動し、[新しいファイルにIIS Expressを使用-ベースのWebサイトおよびプロジェクト」。 次の図は、このメニュー項目を示しています。

この値を設定すると、すべての新しいWebプロジェクトおよびサイトはデフォルトでIIS Expressを使用します。 注:Cassiniで実行される以前に作成されたプロジェクトはすべて、IIS Expressに手動で転送する必要があります。
IIS Expressを使用する
プロジェクトでIIS Expressの使用を有効にし、プロジェクトを起動するか、Visual Studioからデバッグを開始すると、Windowsの通知パネル(トレイ)に新しいアイコンが表示されます。 IISサーバーを使用して起動したすべてのアプリケーションのリストをすばやく取得するには、アイコンを右クリックします。 このような各アプリケーションには、ブラウザでアプリケーションを起動したり、サーバーでの実行を停止したりできる独自のコンテキストメニューがあります。

[すべてのアプリケーションを表示]オプションを選択すると、IIS Expressで実行されているすべてのプロジェクトのリストを含むウィンドウが開きます。 以下はそのようなウィンドウの例です。

このウィンドウで使用できる重要なオプションは次のとおりです。
- 各アプリケーションのURL。
- 各アプリケーションのランタイムバージョン。
- ディスク上のアプリケーションへのパス
- applicationHost.config設定ファイルへのパス。
デフォルトのapplicationHost.config構成ファイルは、ユーザーフォルダーにあります。 これにより、IIS Expressは管理者権限なしで動作できます。 ご存知のように、本格的なIISサーバーはapplicationHost.configを使用してパラメーターを保存します。 IIS Expressは、IISと同じファイルを使用します(同じファイルは使用しません)。 IISを使用するファイルはSystem32ディレクトリに格納され、すべてのWindowsユーザーに同じです。 IIS Expressで使用されるファイルは、個々のユーザーごとに固有です。
ランタイムに関しては、これはアプリケーションプールが使用するCLRのバージョンです。 アプリケーションプールの場合、IIS ExpressはデフォルトでCLR 4.0を使用します。 このデフォルトの動作は、IIS ExpressのapplicationHost.config設定で変更できます。 Visual Studioは、アプリケーション設定に基づいてCLRバージョンを割り当てます。
Visual StudioでWebアプリケーションのいくつかのオプションを直接指定できます。 ソリューションエクスプローラーのコンテキストメニューで[プロパティ]を選択すると、次のスクリーンショットのようなものが表示されます。

これらのオプションは、IIS Expressがアプリケーションを起動する順序を変更します。 Cassiniになかった最も重要な機能の1つは、SSLサポートです。 IIS Expressにはこのサポートがあります。 たとえば、サイトの場合、「SSL対応」パラメーターをTrueに変更し、新しいURLをサイトに割り当てたので、SSLサポートでアクセスできます。 IIS Expressは独自の証明書をインストールし、ブラウザではセキュリティ警告が表示されることに注意してください。

別の重要な注意事項:IIS Expressを起動するための設定を変更すると、それらはIIS ExpressのapplicationHost.configファイルに保存されますが、プロジェクト自体には保存されません。 したがって、チームで作業する場合、同僚は自宅でこれらの設定を繰り返す必要があります。
上記のウィンドウに表示されていない設定を編集するには、applicationHost.configを直接編集する必要があります。 IIS Express(すべてのアプリケーションの表示)ウィンドウのリンクをクリックすると、目的のファイルに簡単にアクセスできます。 WAPなどのプロジェクトでは、この方法でIIS Expressが使用するポートを変更できます。
既知の制限
これまでのところ、IIS Expressにはいくつかの制限があります。
- プロファイリングのサポートの欠如;
- Web Deployment Project(WDP)をIIS Express Webサイトに追加する場合、WDPの名前から「:」を削除する必要があります。
- サブWebを使用したIIS ExpressサイトでのWDPの使用に関するいくつかの問題。
便利なリンク