26

現在、私たちの開発チームは、ローカル マシンの IIS で作業しているすべての Web サイトをセットアップしています。代わりに組み込みの ASP.NET 開発サーバーの使用に切り替えることを考えています。

これは良い考えですか?ASP.NET 開発サーバーを使用することの長所と短所は何ですか? 注意すべき落とし穴はありますか?

ありがとう。

注意: Win XP / IIS 5 / VS2005 で実行

編集:

カッシーニと呼ばれていたことに気づきませんでした..カッシーニ v IIS のその他の回答はこちら

4

11 に答える 11

32

IIS ができないことで ASP.NET Dev WebService ができることはありません (ブレークポイントなどを設定できます。VS デバッガーを ASP.NET ランタイムにアタッチするだけです)。

ただし、ASP.NET Dev WebService は真の運用環境を表すものではないため、運用環境に展開するときに予期しない落とし穴に巻き込まれる可能性があります。

そのため、すべての開発はローカル マシンで IIS を使用して行うことを義務付けています。IIS でサイトを構成するのに、それほど手間はかかりません。

于 2008-11-11T18:05:12.450 に答える
25

とても良いアイデアです。以下にいくつかの理由を示します。

  • Web 開発のためにマシンへの管理者アクセスは必要なくなりました (これはまだ役に立ちます)。
  • 迅速な変更をテストして作業を継続する方がはるかに簡単で、反復サイクルが速いほど良い.
  • 開発環境のセットアップと展開を簡素化できます。
  • IIS の XP バージョンには、Cassini が回避するサーバー バージョンには存在しない制限があります。

私が知っている唯一の反論は、奇数のポート番号を使用しているために、Cassini 組み込みサーバーが IIS を正確に模倣しない非常にまれなエッジ ケースがいくつかあるということです。Cassini を主要な開発環境として使用しても、開発者がマシン上の IIS にアクセスできなくなるわけではありません。 実際、私の好みのセットアップは、最初にほとんどの小さな作業に Cassini を使用し、次にコードを共有ソース リポジトリに戻す前に、より詳細なテストのためにローカル IIS にデプロイすることです。

[編集]
URLの書き換えを忘れていました。そのためには IIS が必要です。ビルトイン XP IIS の制限の例として、XP では 1 つのサイトに制限されていることが挙げられます (複数のアプリケーションを持つことができますが、それは別のことです)。

于 2008-11-11T18:06:59.980 に答える
5

ASP.NET 開発 Web サーバーでは不可能ないくつかの仮想ディレクトリを設定する必要があったため、1 つのプロジェクトで IIS に切り替える (元に戻す) 必要がありました。

于 2008-11-11T18:10:33.170 に答える
5

ここで述べたように: https://stackoverflow.com/questions/103785/what-are-the-disadvantages-of-using-cassini-instead-of-iis開発者は、Cassini がローカル ユーザーとして実行されていることを認識する必要があります。これは通常、開発者の管理者アカウントです。開発者は、アカウントが許可するすべてのファイルまたはリソースにアクセスできます。これは、IIS 6 サーバーで表示されるものとはまったく異なります。

もう 1 つの大きな落とし穴は、Cassini インスタンスを分離するよりも、IIS と vdir を使用する方が Web サービスのデバッグがはるかに簡単になることです。

于 2008-11-14T03:32:50.050 に答える
2

ある時点で、Cassini (ビルトイン開発サーバー) で認証が期待どおりに機能しないという問題があったことを知っています。

また、ISAPI プラグイン (たとえば、リライター) などをテストする必要がある場合、Cassini でそれがどのように行われるのかわかりません。

絶えず変化するポートも、私にとってかなり当惑させられます。また、ソリューション内の Web プロジェクトごとに Casini サーバーの別のインスタンスが起動され、それぞれが 20 ~ 50 MB のメモリを必要とします。

私は常に IIS を使用しています。セットアップは非常に簡単で、皆さんはすでにそれを行っています...

于 2008-11-11T18:06:17.393 に答える
2

私は両方の方法を使用しましたが、組み込みサーバーを使用するよりも、IIS をローカルに使用することを好みます。少なくとも、最終的な展開セットアップとの一貫性が向上します。

于 2008-11-11T18:07:08.123 に答える
1

私が気づいたもう 1 つの違いは、Cassini が 32 ビット プロセスとして実行され、それを制御できないことです。一方、IIS アプリのアプリケーション プールを制御して 32 ビットを禁止できます (IIS が 64 ビット サーバーで実行されていると仮定します)。 )。これは、Web アプリケーションが SharePoint Foundation/Server 2010 などの 64 ビット プロセスで API を呼び出す場合に特に重要になります。デバッグ サーバーとして Cassini を使用して Web アプリをデバッグすると、「The Web application at url couldオブジェクトをインスタンス化するときに、URL を正しく入力したことを確認してください」というタイプのエラーが表示されます。共有ポイント データベースへのアクセスを許可する ID で 64 ビットとして実行されるアプリ プールで実行されているアプリで IIS を使用してデバッグすると、適切にデバッグできます。

于 2012-09-15T05:03:29.117 に答える
1

また、IIS 5.1 を使用する場合は、必ずJetStat IIS Adminを入手してください。これにより、複数のサイトをセットアップできるなど、IIS 5 ではそのままでは無効になっている機能が追加されます。

于 2008-11-11T18:12:12.497 に答える
1

asp.net 開発サーバーで次の制限に遭遇しました。

  1. 仮想ディレクトリをサポートしていません。アプリでそれらが必要な場合は、IIS が唯一の選択肢のようです

  2. 従来の ASP ページは開発サーバーでは実行されません。したがって、Web アプリケーションが混在している場合 (現在クライアントで使用しているように)、IIS が解決策のようです。

  3. 設定を構成するために管理者 UI が必要な場合は、IIS の方がうまく機能します

もちろん、IIS ではローカル管理者である必要があります。

于 2009-07-21T03:05:56.703 に答える
1

VS12 では、開発サーバーは非常に遅く、2kbyte のファイルをダウンロードするのに数秒かかります。これは vs10 では発生しませんでした。大量の jquery ファイルと css がある場合、これは実際の問題です。また、すべてのページがすべての css/js ファイルを再クエリします。非常に遅い回帰テスト。

于 2012-11-28T23:05:08.143 に答える
0

私が開発サーバーで遭遇した主な問題は、カスタム セキュリティ プリンシパルがスレッド コンテキストに格納されている場合の SerializationExceptions です。詳細はこちら

于 2009-07-21T03:14:40.700 に答える