52

デバッグ中にソースを編集できる場合があることがわかりました。IIS の仮想ディレクトリの代わりに Visual Studio の組み込み Web サーバーを使用する利点は他にありますか?

開発環境で Windows XP を使用し、IIS 5 のローカル インスタンスを使用しています。複数のプロジェクトに取り組んでいるため、複数の仮想ディレクトリを使用してすべての異なるサイトを管理しています。

デメリットはありますか?

4

28 に答える 28

60

Visual Studio の組み込み Web サーバーは Cassini と呼ばれ、その制限のいくつかを以下に示します...

  • ポートごとに 1 つの ASP.NET アプリケーションのみをホストできます。
  • HTTPS はサポートしていません。
  • 認証には対応していません。
  • localhost リクエストにのみ応答します。
  • IISに比べて起動が遅い
于 2008-09-19T17:17:29.853 に答える
16

以前の回答はすべて素晴らしい回答です。デスクトップで IIS が必要になる可能性がある Cassini に関する 1 つの落とし穴があります。

Cassini は、IIS ユーザー (IUSR_、IWAM、または WinXP x64 では w3wp プロセス) としてではなく、開発者のコ​​ンテキストで実行されます。外部ファイルにアクセスしたり、一時ファイルを作成したりする Web サイトがある場合、これは少し面倒です。これは、開発者がデスクトップの管理者として実行している場合に最も顕著です。

サーバー IIS に移動すると、Cassini でアクセスできたはずのものが同じように機能しなくなります。通常、IIS_WPG で CACL を実行するだけで修正できますが、開発者がこれについて考えていない場合、展開にすぐに不満を感じるでしょう。

于 2008-09-19T18:20:29.357 に答える
9

Cassini は仮想ディレクトリをサポートしていません。

于 2008-09-19T18:23:02.270 に答える
7

3 番目のオプションが間もなく登場するようです。

IIS エクスプレス.

于 2010-07-03T18:16:27.037 に答える
5

私が遭遇したもう 1 つの欠点は、カスタムIPrincipal/を使用して Forms 認証された Web サイトにありIIdentityます。Cassini は、AppDomains警告 (または予告なし) を切り替えます。

詳細については、このブログ投稿を確認してください。これに関する頭痛の種で、私は Cassini をやめて IIS に固執しました。

于 2008-09-19T20:27:19.117 に答える
5

ビルトイン サーバーは、IIS を構成するために自分のマシンで管理者アクセス権を開発者に与えたくない大企業に適しています。

于 2008-09-19T17:15:46.847 に答える
5

Visual Studio の Web サーバーは//、パスに関してあまり寛容ではありません。

http://localhost:52632/main//images/logo.jpgIIS が行うようなリンクの提供を拒否し ます。

//それはかなりあいまいですが、すべての発生を取り除くために多くの修正を行う必要があることを意味します.

于 2008-09-19T17:25:53.623 に答える
4

ビルトイン サーバーが HTTPModules を処理する方法にバグがあります-回避策がありますが、本番環境では決して必要とされないコードを入れなければならないのは嫌です。

于 2008-09-19T17:23:33.347 に答える
3
  • それを使用するには、Visual Studio を実行する必要があります (通常の状況では)。

  • http://simon-laptop:37473/app1localhost にのみ応答するため、リンクを友人に渡して、ネットワーク経由でサイトを表示することはできません。

  • 大きな欠点:ローカルホストのトラフィックがプロキシ経由で送信されないため、フィドラーを機能させるのが難しくなります。

Fiddlerを使用するhttp://ipv4.fiddler:37473には、使用するのが最善の方法です。

于 2008-09-19T17:38:02.550 に答える
2

仮想ディレクトリを使用することはできません:(

于 2008-09-19T21:51:29.973 に答える
2

組み込み Web サーバー上にある Web サービスの URL を「Web 参照」すると、ポートが変更される場合があります。メニューのプロジェクトプロパティオプションページで言及されている「特定のポート」を設定していない限り。

これは私が今慣れているものです。私は常に特定のポートを設定します。ときどき Web サーバーがクラッシュすることがありますが (私はそのようなことがありました)、ポート番号を変更するだけで問題ありません。これも再起動すれば治ると思います。

于 2008-09-19T17:18:35.137 に答える
2

サーバーが組み込まれているということは、開発者が IIS をセットアップしてサイトをテストする方法を知る必要がないことを意味します。

これは欠点であり、Windows 開発者は少なくとも IIS について十分に理解している必要があると主張することができます。または、システム管理者ではない開発者が Web サーバーをいじってはいけないと主張することもできます。

于 2008-09-19T17:18:54.263 に答える
2

Cassini は、 ASP Classicページもサポートしていません。これは、古い ASP Classic ページがまだ存在するレガシー プロジェクト (作業中の Web アプリケーションなど) のみの問題です。

于 2008-09-19T17:28:12.963 に答える
1

参考までに、WindowsXP64ビットにはIIS6が付属しています。

于 2009-08-06T05:48:30.737 に答える
1

3番目の方法の理由は次のとおりです。UWSProはおそらくカッシーニよりもIISに近いですが(カッシーニに触発され、UltiDevカッシーニフォークのベンダーからのものです)、その主な目的はASP.NETアプリケーションと一緒 に再配布可能にすることです。ここに画像の説明を入力してください

于 2011-07-11T21:27:01.933 に答える
1

私はよく、両方の長所を生かして IIS でアプリケーションを作成し、組み込みの Web サーバーを使用してより効率的なデバッグを行います。

于 2008-09-19T17:40:47.847 に答える
1

Cassini は、軽量のテスト Web サーバーを意図しています。これは、開発者が自分のアプリケーションをテストするために IIS をインストールして構成する必要がないという考え方です。

IIS に精通しており、セットアップが完了していて、ボックスで処理できる場合は、IIS を使用してください。カッシーニは代替品ではありません。

于 2008-09-19T17:55:45.517 に答える
1

これは2年前に始まった古いスレッドです。グーグル検索中にUtilDev Cassiniを見つけました。私には有望に見えます。少なくとも、複数のサイトを同時に実行する機能があります。私は 2 つの異なるサイトで作業しており、IIS を使用してそれらを継続的に切り替える必要があるため、この機能は私にとって非常に便利です。

于 2010-07-23T13:33:01.910 に答える
1

XP Home を使用して自宅で趣味の仕事をしている場合、IIS をローカルにインストールすることはできません。

于 2008-09-19T17:14:45.787 に答える
1

組み込みサーバーは構成可能ではなく、奇妙なポートで実行されるため、特定の動作を期待している場合は面倒になる可能性があります.

于 2008-09-19T17:16:47.887 に答える
1

UAC が有効になっている Vista または Windows 7 で IIS を使用する場合は、Visual Studio を管理者権限で実行する必要があります。これを行うと、ドロップをシェルから Visual Studio にドラッグできなくなります (explorer.exe のインスタンスを管理者として実行しても)。

このため、私はほとんどのプロジェクトで Cassini を使用しています。

于 2009-07-01T16:34:06.830 に答える
0

また、IIS を使用すると、ローカルホストの URL に愚かなポート番号を自動的に記憶して設定することを心配する必要はありません。それはカッシーニに直接依存したファンキーなものです... お尻の大きな痛み. なんらかのポート番号を覚えておきたい人。いまいましいサイトを IIS で実行するだけです。プレーンでシンプルです。

于 2012-01-09T08:50:55.480 に答える
0

もう 1 つの欠点は、イメージとスタイルシートのすべての要求を含むグローバル asax ファイルを介してすべての要求を送信することです。これは、ルックアップなど、ファイル名を処理するコードがそこにある場合、補助ファイルも処理されることを意味します。

于 2009-08-06T05:32:41.113 に答える
0

\aspnet_clientまた、スクリプトをフォルダーに配置する一部のサードパーティ コントロールに関して、Visual Studio ビルトイン サーバーに関するいくつかの問題も確認されています。

IIS で実行していないときはフォルダーが存在しないため、コントロールが機能しませんでした。常に IIS を使用して奇妙な問題を回避する方がはるかに簡単に思えます。

于 2008-09-19T18:09:58.477 に答える
0

IISAdmin をインストールすると、仮想ディレクトリを使用する代わりに、IIS 5 で個別のサイトをセットアップできます。

于 2008-09-19T17:15:37.767 に答える
0

組み込みの Web サーバーは、IIS よりも堅牢性がやや劣りますが、セットアップが不要なため、トレードオフにすぎません。

開発プロジェクトを常に IIS サーバー (ローカル IIS サーバーでさえも) に公開したくない場合があるため、ビルトイン サーバーが適しています。

ただし、アプリケーションが Web アプリの標準外のリソースにアクセスする場合は、IIS で頻繁にデバッグして、アプリが制限されたアクセス許可で実行され、問題点がどこにあるかを確認できるようにすることができます。

于 2008-09-19T17:20:29.393 に答える
0

私が見つけた違いの 1 つは、開発サーバーがファイルのアップロードを IIS とは異なる方法で処理することです。アップロードするファイルが Max_File_Size 設定よりも大きい場合、エラーをトラップできません。ページは死んで 500 を返します。

于 2008-09-19T18:57:34.743 に答える
-1

プロジェクトが IIS ディレクトリにある場合でも、コードを編集できます。それが公開されているかどうかにかかっています。

KerberosNTLM認証などの特定のアクセス許可ベースのシナリオや、サーバーの圧縮などの問題をデバッグしているときに、Cassini と IIS で非常に多くの問題に遭遇します。ただし、IIS に発行するときは、十分なテストを行ってください。

于 2008-09-19T17:17:36.747 に答える