Ninject(NuGetインストール)を使用しているASP.NET MVC 3プロジェクトがあります。私は非MVCオブジェクトに依存性を注入するためにどのように使用できるかを理解しようとしています。ASP.NET MVCアプリケーションでNinjectを非MVCオブジェクトに使用する方法
次のようなコードがあります。どのようにNinjectを使って、以下のオブジェクトのIStoreの具体的なインスタンスを取得できますか? Global.asaxの中
public class SomeObject
{
private static IStore _store;
public static IStore CurrentStore
{
get
{
if (_store == null)
{
// Get Instance of _store.
}
return _store;
}
}
}
:
protected Application_BeginRequest()
{
IStore store = SomeObject.CurrentStore;
}
NinjectWebCommon.csで:
private static void RegisterServices(IKernel kernel)
{
// Module that binds a concrete type of IStore.
kernel.Load<WebModule>();
}
このメソッドはうまく動作しますが、ヌルの_storeをチェックしてモジュールの値を設定する必要があり、リクエストごとに実行されるという点が異なります。よりクリーンな方法がありますか? –