Asp.net mvc 统一并不能解决依赖关系
我使用统一与统一。注册类型和依赖项解析器的类如下所示:Asp.net mvc 统一并不能解决依赖关系,asp.net-mvc,dependency-injection,unity-container,Asp.net Mvc,Dependency Injection,Unity Container,我使用统一与统一。注册类型和依赖项解析器的类如下所示: public static class UnityConfig { public static void RegisterComponents() { var container = new UnityContainer(); container .RegisterType<ILogger, Nlogger>() .Register
public static class UnityConfig
{
public static void RegisterComponents()
{
var container = new UnityContainer();
container
.RegisterType<ILogger, Nlogger>()
.RegisterType<IDataAccessLayer, SqlDataAccessLayer>()
.RegisterType<IEventBusiness, EventBusiness>();
DependencyResolver.SetResolver(new UnityDependencyResolver(container));
}
}
在我的一个控制器中,我有如下属性:
[Dependency]
public IEventBusiness EventBusiness { get; set; }
我希望这个属性由Unity自动设置,但它总是空的。有人能帮我找出我做错了什么吗?谢谢你们的帮助。我删除了Unity.MVC5并安装了Unity plus Unity.Bootstrapper。现在一切正常。我跟随本文解决了这个问题:您还可以尝试在注册时提供
InjectionProperty
配置。或者,为什么不尝试构造函数注入呢?您是否将控制器注册到容器中?@TylerOhlsen,不,我不注册控制器。我必须这样做吗?在控制器内部,当我检查DependencyResolver.Current时,它为我提供了UnityContainer的正确实例以及所有注册的类型。
[Dependency]
public IEventBusiness EventBusiness { get; set; }