今さらながらですが、IIS 7.5 Express を Microsoft の Download Center から入手してインストールして使ってみました。
IIS Express の概要の説明は、ここに書くまでもないので省略します。知りたい方は、ScottGu 氏のブログの翻訳 IIS Express の紹介 を見てください。手抜きですみません。(笑)
インストールの仕方も、ここに書くまでもないので省略します。ダウンロードしたファイルをエクスプローラーで探して、それをダブルクリックすれば自動的にインストールされます。
ただし、インストールしただけでは Visual Studio 2010 SP1 から自動的に使えるようにはなりませんので注意してください。以下の画像にあるように、ソリューションエクスプローラーで、プロジェクトを右クリックして出てくるコンテキストメニューで、[IIS Express を使用する (U)...]に設定してやる必要があります。その他の詳細については、ScottGu 氏の別のブログ VS 2010 SP1 (Beta) and IIS Express を参考にしてください。
ところで、一番気になっていた IIS とワーカープロセスのアカウントですが、少なくともデフォルトでは、ASP.NET 開発サーバーと同じでした。即ち、その PC にログインしているユーザーのアカウントになります。
少なくとも自分が探した限りでは、IIS Express のワーカープロセスのアカウントを、IIS と同じにするオプションは見つかりませんでした。なので、ASP.NET 開発サーバーでは動いていたのが IIS では動かないという問題は、IIS Express でも起こり得るので注意が必要です。
ちなみに、IIS の匿名ユーザーアカウント、ワーカープロセスのアカウント/グループについては以下のページを参照してください。
IIS 7.0 での組み込みユーザーとグループ アカウントとは
Application Pool Identities
IIS 7 のアクセス許可
ASP.NET 開発サーバーおよび IIS Express の場合は、上記のページで説明されている IIS のアカウント/グループが、すべて PC にログインしているユーザーのものになります。
その他、気をつけなければならないのがアプリケーション名の設定です。具体的にどういうことかと言うと、以下のとおりです。
Web サイトプロジェクトで、例えば、物理パス C:\WebSite\AppDirectory に Web アプリケーションがあるとします。
Visual Studio から [ファイル(F)] ⇒ [Web サイトを開く(E)] で表示されるダイアログから Web アプリケーションを開いて、そのルート直下の Default.aspx を要求する場合、デフォルトでは以下のような URL になります。
ASP.NET 開発サーバ:
|
http://localhost:xxxxx/AppDirectory/Default.aspx
|
IIS Express:
|
http://localhost:xxxxx/Default.aspx
|
ローカルIIS:
|
http://<サイト名>/<アプリ名のエイリアス>/Default.aspx
|
「ASP.NET 開発サーバ」と「ローカル IIS」の場合は AppDirectory と <アプリ名のエイリアス> の名前を同じに設定すれば "/<アプリ名のエイリアス>/default.aspx" というサイトルート相対パスが使えます。
ところが、「IIS Express」の場合は "/<アプリ名のエイリアス>/default.aspx" というサイトルート相対パスは使えません。パスの設定によってはリンクが切れて、「ASP.NET 開発サーバー」や「ローカル IIS」で動いていたものが「IIS Express」では動かない(または、その逆)ということが起こり得ます。
Web アプリケーションプロジェクトの場合は「IIS Express」を使って /<アプリ名のエイリアス>/default.aspx というように設定する方法があるのは見つけましたが、Web サイトプロジェクトの方はギブアップしました。
なので、自分が設定する方法を知らないだけという可能性は否定し切れません。(笑)