0

ASP.NETおよび複数のプロジェクトでDRYを維持します。

私が働いている会社では、大規模なイントラネットサイトでClassicASPからASP.NETに移行中です。

現在、このイントラネットサイトで作業している開発者は2人います。現在、現在作業中のプロジェクトを相互に通信する以外に、ソース管理を使用していません。TeamFoundationServerまたはその他のソース管理システムの使用が承認されるかどうかはまだわかりません。

私たちのサイトは現在、単一の静的コンテンツと単一の動的コンテンツページの組み合わせで構成されています。

さらに、約50の異なるWebアプリケーションがあり、すべて会社全体のさまざまな部門で使用されています。これらはすべて、単一ページフォームから、さまざまなレベルのレポート生成機能を備えた非常に複雑な複数ページアプリケーションまで、複雑さの範囲があります。

これらのWebページはすべて、共通のレイアウト、基本的なjavascript、css、ヘッダー、フッター、およびサイドバーを共有しています。共有ヘッダー、フッター、サイドバーの再設計や変更を支援するために、可能な限りDRYの原則に従いたいと思います。

私の推測では、HTML、Classic ASP、.NET Webforms、および.NET MVCアプリケーションがすべて、同じドメイン名で1つのサーバーに格納されることになります。

目標:

  1. マスターページ/_Layout.cshtml-さまざまなWebフォームやMVCアプリケーション間で単一のマスターページとMVCレイアウトページを共有します。Webフォーム用に1つのマスターページとMVC用にレイアウトページを維持する必要があることを気にしません。
  2. ヘッダー、フッター、サイドバー-マスター/_レイアウトページを簡単に共有できない場合。サイト全体で簡単に更新できるように、少なくともヘッダー、フッター、サイドバーをさまざまなページすべてで共有したいと思います。
  3. 単一のアプリケーションの変更を公開する-アプリケーションの1つに変更を加えるたびに、サイト全体とさまざまなアプリケーションのすべてを公開する必要はありません。この機能を維持しながら、目標1および/または2を達成する方法はありますか?

ASP.NET Webフォーム、MVC、およびC#の使用経験がほとんどない人のために、回答を調整してください。私はいくつかのチュートリアルを完了しましたが、まだ学習プロセスの初期段階にあります。

あなたがそれを提供することができるどんな助けにも感謝します。

4

1 に答える 1

1

3 つの要件をすべて満たすには、他のすべてのプロジェクトに共通する別のプロジェクトにレイアウトを含める必要があります。

ビューを dll にコンパイルする方法について説明しているこの記事をご覧ください。これが完了すると、残りのアプリケーション間でこの dll ファイルを共有できるようになり、ヘッダー、フッター、およびサイドバーを持つレイアウト ページを共有できるようになります。

他のすべての MVC アプリケーションも個別のプロジェクトに配置して (それらをすべて 1 つのソリューションの下に保持することもできます)、個別にビルドおよびデプロイできるようにします。

于 2012-07-12T17:34:44.147 に答える