0
我已經寫入配置lightinject到一個單獨的類。LightInject問題與DependencyResolver
在Global.ascx應用程序啓動我
AreaRegistration.RegisterAllAreas();
RouteConfig.RegisterRoutes(RouteTable.Routes);
var container = new ServiceContainer();
DependencyResolver.SetResolver(new LightInjectDependencyResolver(container));
我LightInjectDependencyResolver類的樣子:
public class LightInjectDependencyResolver : IDependencyResolver
{
private readonly ServiceContainer _serviceContainer;
public LightInjectDependencyResolver(ServiceContainer serviceContainer)
{
_serviceContainer = serviceContainer;
_serviceContainer.RegisterControllers();
_serviceContainer.RegisterAssembly("mydll*.dll");
_serviceContainer.EnableMvc();
}
public object GetService(Type serviceType)
{
return _serviceContainer.GetInstance(serviceType);
}
public IEnumerable<object> GetServices(Type serviceType)
{
return _serviceContainer.GetAllInstances(serviceType);
}
}
我得到的死亡與錯誤的黃屏:
無法解析請鍵入:System.Web.Mvc.IControllerFactory,服務名稱:
編輯
我想我已經對它進行了排序,基本上我不需要DependecnyReolver並且看起來像它是內部的。所以你仍然可以做這樣的事情:
IProductService a = DependencyResolver.Current.GetService<IProductService>();
a.GetById(1);