我想使用 Unity 3 设置 MVC5 应用程序。
我从标准模板创建了一个默认的 Web mvc5 应用程序,然后添加了 unity
当我访问 AccountController 中的注册操作时,出现以下异常:
类型 IUserStore`1 没有可访问的构造函数。
从这篇文章如何向 Unity IoC 添加 MVC 5 身份验证? https://stackoverflow.com/questions/20023065/how-to-add-mvc-5-authentication-to-unity-ioc我知道问题是 Unity 选择了参数列表较长的构造函数。
解决方案是通过以下方式注册要与默认构造函数一起使用的帐户控制器:
container.RegisterType<AccountController>(new InjectionConstructor());
我想做的是将其注册到配置文件中,而不是代码中
是否可以在 web.config 中执行相同的操作?
此致,
塞巴斯蒂安
您可以使用 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();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)