複数のMVCプロジェクトを含むプロジェクトに取り組んでいます。StructureMapを使用したいのですが、2つのglobal.asaxファイル(プロジェクトごとに1つ)で再利用できるIOCコンテナーを定義する方法(または可能かどうか)がわかりません。それぞれに2つのIoCコンテナを定義する必要はありません。これは他の方法で行うことができますか?
質問する
320 次
2 に答える
2
構成が同じであるという質問から、登録を共通のレジストリに入れることができます。
public class CommonRegistry : Registry
{
public CommonRegistry()
{
// configuration here
}
}
次に、各アプリケーションで初期化します。
ObjectFactory.Initialize(x =>
{
x.AddRegistry<CommonRegistry>();
});
于 2012-07-18T19:01:49.717 に答える
1
(またはそれが可能であれば)
いいえ、それは不可能です。DIコンテナは、オブジェクトをメモリに格納します。メモリはAppDomainごとにあります。AppDomainはアプリケーションごとです。アプリケーションはGlobal.asaxごとです。したがって、2つのGlobal.asax=>2つのASP.NETアプリケーション=>2つのAppDomains=>2つの異なる無関係のメモリ領域。もちろん、両方のASP.NETアプリケーションで再利用されるクラスライブラリにDIコンテナー構成を配置することもできます。
于 2012-07-18T17:48:21.997 に答える