[asp.net] Visual Studioで 'Webサイト'と 'プロジェクト'の違い



Answers

彼らはさまざまな目的を持っています。

ウェブサイトは、時間の経過とともに変化する可能性の高いコンテンツを持つサイトです。つまり、ページ自体が変更されます。 実際のプロジェクトファイルはなく、サイトは単に一連のファイルとして配備されています。

アプリケーションはコンテンツがアプリケーションだけのサイトであり、動的部分は主にデータベースなどの永続ストアに格納されます。 それは、データ入力のためのフォームの集合を表現する可能性があるので、より複雑な論理を持つだろう。 コンパイルされたdllとして配備されたその構成とそのコードをより厳密に制御するためのプロジェクトファイルがあります。

Question

可能な重複:
ASP.NET:WebサイトまたはWebアプリケーション?

Visual Studio 2008を起動し、「 新しいWebサイト 」 - >「ASP.NET Webサイト」の代わりに「 新しい プロジェクト 」 - >「ASP.NET Webアプリケーション」を選択すると、明らかに違いがあることに気付きました' たとえば、「Project」を選択した場合、.dllにコンパイルし、各ページに* .aspx.designer.csコードビヘイドファイルを取得できます。

1)なぜこの2つの異なるプロジェクトタイプがありますか?

2)あなたはどちらを好きですか?

3)なぜ私はもう一方を選ぶだろうか?

4)* .aspx.designer.csファイルの処理は何ですか?




誰も実際に言及していない最大の違いは、すべてが単一のDLLにコンパイルされたモデルでは、アプリケーションが生成するクラスを完全に制御できることです。 彼らはどこにいるのかを知っていて、アプリケーションのどこからでもそれらを参照することができます。

単一ページモデルでは、これを行うことはできません。 AppCodeディレクトリに「スタブ」クラスを作成し、それを継承することで回避する必要がありますが、それは理想的ではなく複雑でもあります。

複雑な動的サイトを開発しようとしている場合は、コンテンツに基づいて実行時に多数のユーザーコントロールを動的にロードする場合にのみ、このようなことが起こります。 その後、差異は痛いほど明確です。そのため、後で同じモデルに戻ることができるまで、開発の多くはASP 1.1でストールしました。

ニッチ




3)WebApplicationプロジェクトは、MSBuildによって構築可能です。 WebSitesは(多くの微調整なしでは)ありません。 自動化されたビルドでTeamSystemを使用している場合は、この方法があります。




言語機能(クラス階層、名前空間)を活用する必要がある場合や、プロジェクト間で共通のコード(データアクセス、クラスライブラリなど)を再利用する必要がある場合は、Webアプリケーションプロジェクトが唯一の方法です。

ウェブサイトのプロジェクト(その名前にある手掛かり)は、ウェブアプリケーションではなく、複雑ではない「パンフレット」 サイト (ページが静的コンテンツで構成されている)にとって本当に良いことです




サイトは、Web開発者の2003年の.NETの方法です。 私の経験では、プロジェクト定義が不足しているため再利用できず、モジュラーコーディングに関する問題があり、TeamSystemの統合や名前空間に関する問題があるため、問題は非常に問題です。 ドメインとの1対1のバインドと実際のパブリッシング抽象化の欠如は、メンテナンスの問題を引き起こします。

コードビハインドの古典的な "古典的な" ASPの方法は、コードの再利用とテストを再び損なう深刻な問題です。ホット・フィックスを可能にすることの利点としてよく言われることは、実際には失敗した開発プロセス。 ホットフィックスの能力はもちろん不可能なものより優れていますが、それは決して呼びたくないものです。

ウェブサイトのモデルの問題は、MSが私たちにウェブアプリを与えたほど十分に大きいと言うかもしれません。 個人的に私はデモコードを超えて何も使用しません...実際には私もそれをしないだろう。




Related