2

動的に生成された MVC4 アプリケーションをホストするためのマルチテナント MVC4 Web ポータルに取り組んでいます。

ユースケース: クライアントは、Web ポータルを使用して xml 仕様をアップロードします。仕様は、mvc4 アプリケーションを生成してコンパイルし、ビュー、css、javascript、および dll (コンパイル済みの c# コード) を含む zip ファイルをポータルに返す Web サービスに渡されます。次に、ポータルは受信した zip ファイルを解凍し、そのコンテンツをポータル自体内のフォルダー (モジュール) に配置します。その後、クライアントは新しく「デプロイされた」アプリケーションを参照できます。同じアプリケーションの多くのバージョンを展開できます。展開ごとに異なる名前空間を使用する予定です。注: 生成されたモジュールには、DI インジェクターを使用して Web ポータルによって注入されるいくつかの依存関係があります (ninject の使用を考えていました)。

私はモジュラー MVC アプリケーションを構築する方法について多くの調査を行ってきました。MVC エリアを調べ、MEF、DI フレームワークについて調査し、nopCommerce とオーチャード コードを調べました。答えが見つからないように見えることの 1 つは、AppDomain の再起動を必要とせずに実行時にモジュールを追加する方法です。また、実行時にこれらの各モジュールのルートを登録する簡単な方法はありますか?

他の人が新しい仕様をアップロードしている間に、他の人がポータル/デプロイされたモジュールを使用している可能性があるため、アプリの再起動を回避しようとしています。

4

1 に答える 1

0

この(ほんの少し古い) チュートリアルをご覧になりましたか? モジュールの再スキャンの問題は解決しませんが、導入されたPluginAreaBootstrapperクラスは良い出発点のようです。PluginAreaBootstrapperシステム内の特定のイベントでのメソッドを実行できるかもしれませんInit()(これを と呼びましょうOnNewModuleDeployed)。

于 2013-08-01T09:42:39.913 に答える