動的に生成された MVC4 アプリケーションをホストするためのマルチテナント MVC4 Web ポータルに取り組んでいます。
ユースケース: クライアントは、Web ポータルを使用して xml 仕様をアップロードします。仕様は、mvc4 アプリケーションを生成してコンパイルし、ビュー、css、javascript、および dll (コンパイル済みの c# コード) を含む zip ファイルをポータルに返す Web サービスに渡されます。次に、ポータルは受信した zip ファイルを解凍し、そのコンテンツをポータル自体内のフォルダー (モジュール) に配置します。その後、クライアントは新しく「デプロイされた」アプリケーションを参照できます。同じアプリケーションの多くのバージョンを展開できます。展開ごとに異なる名前空間を使用する予定です。注: 生成されたモジュールには、DI インジェクターを使用して Web ポータルによって注入されるいくつかの依存関係があります (ninject の使用を考えていました)。
私はモジュラー MVC アプリケーションを構築する方法について多くの調査を行ってきました。MVC エリアを調べ、MEF、DI フレームワークについて調査し、nopCommerce とオーチャード コードを調べました。答えが見つからないように見えることの 1 つは、AppDomain の再起動を必要とせずに実行時にモジュールを追加する方法です。また、実行時にこれらの各モジュールのルートを登録する簡単な方法はありますか?
他の人が新しい仕様をアップロードしている間に、他の人がポータル/デプロイされたモジュールを使用している可能性があるため、アプリの再起動を回避しようとしています。