Scott Guthrie 氏が最近、 IIS Expressをアナウンスした。これは、IISの軽量な代替品でCassini ( Visual Studioに組込まれたサーバー)にそのうち替わるものである。 IIS Express は、 Cassiniで指摘されていた問題点を解決し、開発者が IIS 7.x の完全なフィーチャセットを使って、開発できることを意図したものである。まだダウンロードは、できないが、氏によると、もうすぐできるようになる、ということだ。
IIS Express は、 Cassiniと同様に、アプリケーションをデバッグしたり、走らせたりしている時に、起動することで動く。Windows XP 以降をサポートしており、管理者権限は、不要で、以前のASP, PHP, SSL, URL Rewrite, MediaそしてIISによってサポートされている他のファイル形式や拡張機能もサポートする。SSLサポートに関しては、自己署名証明書 が、起動時に自動的にインストールされる。
IIS Expressは、Visual Studio 2010用のパッチをインストールすると、Visual Studio 2010 と Visual Web Developer 2010 Expressで動き、 Visual Studioの将来のバージョンには、含まれる。しかし、Visual Studio の以前のバージョンでも、コマンドラインからIIS Expressを使うことができる:
コマンドラインからなら、 VS 2008でも使うことができる。 VS 2010以外のツールに統合することは、ない。
氏は、読者の一人に答えて、コマンドライン バージョンの完全な使い方と例を示してくれた:
使用法:
iisexpress [/config:config-file] [/site:site-name] [/systray:boolean]
iisexpress /path:app-path [/port:port-number] [/clr:clr-version] [/systray:boolean]
/config:config-file
applicationhost.configファイルへのフルパス。デフォルト値は、IISExpress8\config\applicationhost.config でユーザのドキュメント フォルダに存在する。
/site:site-name
起動するサイトの名前、 applicationhost.configファイルに記述される。
/path:app-path
走らせるアプリケーションの完全な物理パス。このオプションと/configや関連するオプションと組み合わせることは、できない。
/port:port-number
アプリケーションがバインドするポート。デフォルト値は、8080。また/pathオプションも指定しなければならない。
/clr:clr-version
アプリケーションを走らせるために使う .NET Framework のバージョン(例えばv2.0)。デフォルト値は、 v4.0。 /pathオプションも指定しなければならない。
/systray:boolean
システム トレイ アプリケーションの起動の可否を決める。デフォルト値は、trueである。
例:
iisexpress /site:WebSite1
このコマンドは、ユーザ プロファイルの設定ファイルから WebSite1サイトを走らせる。
iisexpress /config:c:\myconfig\applicationhost.config
このコマンドは、指定した設定ファイルにある最初のサイトを走らせる。
iisexpress /path:c:\myapp\ /port:80
このコマンドは、 c:\myappフォルダからポート80経由でサイトを走らせる。
Cassiniの制限の1つが localhostからしかアクセスできないことだ。しかし読者への答えの中で、氏は、 IIS Express は、リモート リクエストができるように改善できる、と述べている。
他の読者は、コネクションの制限と再配布について質問した:
…IIS Express をあなたのアプリケーションと一緒に再配布できる。
Azureとの統合、SharePoint そしてEdit & Continue のサポートについての質問に対して、氏の回答は:
Azure/IIS Expressの統合は、今すぐには、ない。しかし、今後、検討したいことではある。
…不幸にして、 IIS Express込のSharePoint は、サポートしない。完全なIISがSharePoint には,要る。
…今すぐには、Edit & Continueは,サポートしないが、今後,検討したい。
氏は、また IIS とIIS Expressの差について更に教えてくれた:
コアのコードは、両方共同じである。大きな違いは、 IIS Expressは、そのワーカープロセスをコマンドラインあるいは、VS(や他のツール)から起動するが、完全なIISは、オンデマンドなワーカープロセスモデルと起動システムを持ち、オンデマンドで、ワーカープロセスを立ち上げたり、シャットダウンする。
氏は、また IIS Expressは、まもなくリリースするいくつものコンポーネントの1つであり、リリース予定のある他のコンポーネントをアナウンスする、と語った。