0

私は、いくつかのビジネス分野の Web アプリケーションで作業しています。時間の経過とともに、そのサイズは開発と維持の問題になりました。共有する共通ファイル (マスターページ、リソース、Css など) を持つメイン ルート Web プロジェクトに応じて、Web プロジェクトをいくつかのサブプロジェクトまたはライブラリに分割したいと考えています。オプションでその「コンポーネント」を公開するか、カスタマイズされたバリエーションを単に公開できるようにするインジェクションですが、その構成は DB セットアップのデプロイ後に依存します。

Web 中を検索し、複数のプロジェクト、依存性注入、複合アプリに関連するすべてのページを読んで、頭が柔らかくなるまで調べましたが、本当に役立つものは見つかりませんでした。理論的なアプローチまたはアプリケーションの単体テストに関する記述の大部分 (まあ、目的のアプリを作成することはできませんが、他の何かを単体テストすることはできます) 他のアプローチは、VS2010 .Net 4.0 では機能しません。

誰かが完全なソリューションまたは例で私に対処できますか? または、単に議論しましょう。

ソリューションには次の構造があり、モジュールの内容は既にディレクトリに分割されていると言います。

解決

      L_ Datalayer library project
      L_ Bussiness logic /common utils library project
      L_ Web project
      L_ Controls
      L_ Images
      L_ Css....
      L_ Warehouse
      L_ Sales
      Masterpages
      ...

倉庫と販売は「モジュール」に関連するページが含まれています

ありがとう、


進行状況を件名に投稿します。

Steven の提案に従って、MEF を使用してさらに実験を行いました。ドキュメントが不足しているため、特に Web フォームに関しては、これが苦痛でした*。これまでのところ、ソリューションに MEF を実装することができ、メイン アプリに表示されるプラグイン プロジェクトを正常に挿入できました。

次に、プラグイン名、デフォルトのページ URL、およびその順序を持​​つインターフェースを介して、使用可能なプラグインをロードし、このすべてのデータを選択してメニュー タブをレンダリングします。その部分は簡単です。

メニュー要素をクリックすると、プラグインのメイン ページにリダイレクトする必要があります。これにより、含まれているページのいくつかのメニューが (別のエクスポート インターフェイスから) レンダリングされます。

最後に、プラグイン プロジェクトにリソースとして埋め込まれた aspx ページを取得しました。現在行き詰まっているところ。

MEF を使用してライブラリにリソースとして埋め込まれたページをレンダリングする方法はありますか、それとも VirtualPathProvider も使用する必要がありますか? そのページにリダイレクトするステートメントは具体的にどのようになっていますか? いくつかの方法を試しましたが、誰も機能しません (MEF および VirtualPathProvider)

私はそれについて話している無数の記事を見ましたが、それらはすべてページではなくコントロールのレンダリングを行っています。とてもイライラします。

4

1 に答える 1

0

あなたの質問に対する答えではありませんが、私の提案の長さのために答えとして追加しています。プラグインと既存のソリューションの拡張機能をサポートする独自のフレームワークを使用して、NopCommerceが.netを介して拡張したアプローチを検討することをお勧めします。nopcommerceがeコマースソリューションであることは確かに知っていますが、それを研究すれば、ビジネスニーズに応じて変更することができます。少なくとも、ソリューションの設計時に採用すべきものに頭を悩ませることができます。それが役に立てば幸い。

于 2012-08-24T11:09:49.027 に答える