2009-06-16 82 views
30

IISで新しいWebサイトを作成すると、「アプリケーション」と「仮想ディレクトリ」のどちらかを選択できます。これらの2つのオプションの違いは何ですか?IISでの新しいWebサイトの作成:アプリケーションと仮想ディレクトリ。違いはなんですか?

+1

どこでそれを選ぶことができますか?アプリケーションから、 "アプリケーションプール"を意味しますか? –

+1

クリーンなIISで「サイト」を開き、「デフォルト」を右クリックします。コンテキストメニューの「アプリケーションの追加」と「仮想ディレクトリの追加」 – roosteronacid

+1

重複:http://stackoverflow.com/q/5500326/80161 –

答えて

23

はいくつかの違いがありますが、ここでの最大のある既定のWebサイトのディレクトリ内に存在し得る:IISで

  • 6以降では、アプリケーションに特定の「保護」レベルを割り当てることができます。 (例えば、保護レベル、アプリケーションプールなど)。仮想ディレクトリでこれを行うことはできません
  • ASP.NETで作業している場合、アプリケーションのマスタ "Web.config"ファイルの検索はアプリケーションレベルで停止します。作業ディレクトリの場合、実際には設定のために親階層もチェックされます。

これは私の意見の2つの大きな違いですが、他にも小さなものがあります。 Web開発者の観点から

+0

mjmarsh、間違っています。 IIS 7では、「仮想ディレクトリとアプリケーションの両方に特定のユーザーまたはアプリケーションのユーザー設定として接続する」を構成することができます。 – Learner

+2

プロセスの分離について話していました。仮想ディレクトリファイルリソースを使用していますが、仮想ディレクトリをアプリケーションプールに関連付ける方法はありません(親アプリケーションレベルで設定する以外) –

27

仮想ディレクトリは、Webページが格納される場所への単なるポインタです。

アプリケーションは、Webページ用にIISにメモリを予約します。 ASPページを実行しようとしているときにセッション変数を使用する予定がある場合は、アプリケーションを使用する必要があります。 アプリケーションは、仮想ディレクトリを使用することができるか、それだけ(のinetpub/wwwrootに/)

+5

+1これはストーリーの終わりではありませんが、セッション変数を格納するアプリケーションプールではないため、w3wp.exeプロセスであり、アプリケーションプールが複数のw3wp.exe(別名「Webガーデン」)を使用するようにセットアップされている場合、使用する必要がありますOutProcセッション(同じユーザーによる異なる要求が異なるプロセスにルーティングされる可能性があるため)が、w3wp.exeはアプリケーションプールに基づいており、仮想ディレクトリではないことが正しいです –

0

仮想ディレクトリには、HTMLコンテンツのIIS 5(Windows 2000およびそれ以前)のコンテナです。 ASP(Active Server Pages)スクリプトの解釈やCGI(Common Gateway Interface)アプリケーションの実行を許可する仮想ディレクトリを構成することもできます。仮想ディレクトリはASP.Net Webアプリケーションをホストできません。

「アプリケーション」コンテナの種類は、IIS 6(Windows XP/Windows Server 2003以降)で導入されました。 ASP.Net Webアプリケーションのホスティングが可能です。

関連する問題