我有一個使用Ninject(NuGet安裝)的ASP.NET MVC 3項目。我想了解如何使用它將依賴關係注入到非MVC對象中。如何在ASP.NET MVC應用程序中爲非MVC對象使用Ninject
我有一些看起來類似於下面的代碼。我如何使用Ninject在下面的對象中獲取IStore的具體實例?
public class SomeObject
{
private static IStore _store;
public static IStore CurrentStore
{
get
{
if (_store == null)
{
// Get Instance of _store.
}
return _store;
}
}
}
在Global.asax中:
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爲null並將其值設置在我的模塊中,該值將在每個請求中運行。有更清潔的方法嗎? – 2012-04-13 05:05:16