我想用Unity 3设置MVC5应用程序。 我从标准模板创建了默认的web mvc5应用程序,然后添加了单元
当我在AccountController中访问Register操作时,我得到以下异常:
IUserStore类型`1没有可访问的构造函数。
来自这篇文章How to add MVC 5 authentication to Unity IoC?我知道问题是Unity选择了具有更长参数列表的构造函数。
解决方案是通过以下方式注册要与默认构造函数一起使用的Account控制器:
container.RegisterType<AccountController>(new InjectionConstructor());
我想要做的是在代码中的配置文件中注册它 是否可以在web.config中执行相同的操作?
最诚挚的问候, 塞巴斯蒂安
答案 0 :(得分:4)
您可以使用XML配置配置Unity。在你的情况下,它看起来像这样:
<configSections>
<section name="unity" type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection, Microsoft.Practices.Unity.Configuration"/>
</configSections>
<unity xmlns="http://schemas.microsoft.com/practices/2010/unity">
<container>
<register type="MyApp.AccountController, MyApp">
<constructor />
</register>
</container>
</unity>
然后你需要显式加载配置:
IUnityContainer container = new UnityContainer();
container.LoadConfiguration();