1
我看到there is an extension for Ninject integration與asp.net-mvc,但它看起來像我可以將Ninject與mvc罰款沒有這個擴展。例如:我是否需要再使用ninject.mvc擴展?
public class NinjectDependencyResolver : IDependencyResolver
{
private readonly IResolutionRoot _resolutionRoot;
public NinjectDependencyResolver(IResolutionRoot resolutionRoot)
{
_resolutionRoot = resolutionRoot;
}
public object GetService(Type serviceType)
{
return _resolutionRoot.TryGet(serviceType);
}
public IEnumerable<object> GetServices(Type serviceType)
{
return _resolutionRoot.GetAll(serviceType);
}
}
public class MvcApplication : HttpApplication
{
void Application_Start()
{
var modules = new INinjectModule[] { new ServiceModule() };
var kernel = new StandardKernel(modules);
DependencyResolver.SetResolver(new NinjectDependencyResolver(kernel));
這是一些傳統擴展還是仍然相關?我看到最近更新的源代碼,所以我有點困惑
關於#1,提出的實現有什麼問題? – leora 2012-03-31 23:34:18
@leora - 我不知道副手,但是因爲Remo寫了現有的代碼並且看了代碼,它做了很多更多的事情(比如處理請求範圍,我猜?),我認爲至少有「支持請求範圍「(但不知道是否如此) – 2012-04-01 03:20:49
@leora它不正確處理多個枚舉會導致奇怪的行爲是一些情況。由於TryGet,檢測一些配置問題將會非常困難。 – 2012-04-01 12:11:47