我正在尝试在IoC Web项目中配置ASP.NET。我已经安装了Unity.WebAPI软件包:
PM >Install Unity.MVC4
并将下一个代码添加到Initialise
类的Bootstrapper
方法中:
DependencyResolver.SetResolver(new UnityDependencyResolver(container));
此外,我还在容器中注册了存储库:
container.RegisterType<IProductRepository, ProductRepository>();
但是,我的应用程序与错误崩溃,Type 'MvcApplication1.Controllers.ValuesController' does not have a default constructor.
,谁能指出我错过了什么?我使用.Net Framework4.5。哪个统一包对我来说是可以的(Unity.WebAPI,Unity.MVC4,.)?
更新:将存储库注入到控制器中:
private readonly IProductRepository _repository;
public ValuesController(IProductRepository repository)
{
_repository = repository;
}
发布于 2013-11-15 15:33:55
到目前为止,你所做的一切看起来不错,但我认为你错过了这一行。
Bootstrapper.Initialise();
这应该会进入MVC应用程序Global.asax.cs
的启动代码--例如,将其放在此方法的末尾即可。
protected void Application_Start()
发布于 2013-11-15 15:25:23
也许你正在关注这篇文章。如果不是的话,它能帮到你。
http://www.asp.net/web-api/overview/extensibility/using-the-web-api-dependency-resolver
对于错误,尝试在没有参数的控制器中添加构造函数:
即
public ValuesController()
{
}
https://stackoverflow.com/questions/20003865
复制相似问题