首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用WebAPI4.5实现统一IoC的配置

用WebAPI4.5实现统一IoC的配置
EN

Stack Overflow用户
提问于 2013-11-15 14:53:43
回答 2查看 5.2K关注 0票数 1

我正在尝试在IoC Web项目中配置ASP.NET。我已经安装了Unity.WebAPI软件包:

PM >Install Unity.MVC4

并将下一个代码添加到Initialise类的Bootstrapper方法中:

代码语言:javascript
运行
复制
DependencyResolver.SetResolver(new UnityDependencyResolver(container));

此外,我还在容器中注册了存储库:

代码语言:javascript
运行
复制
container.RegisterType<IProductRepository, ProductRepository>();

但是,我的应用程序与错误崩溃,Type 'MvcApplication1.Controllers.ValuesController' does not have a default constructor.,谁能指出我错过了什么?我使用.Net Framework4.5。哪个统一包对我来说是可以的(Unity.WebAPI,Unity.MVC4,.)?

更新:将存储库注入到控制器中:

代码语言:javascript
运行
复制
private readonly IProductRepository _repository;

public ValuesController(IProductRepository repository)
{
    _repository = repository;
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-15 15:33:55

到目前为止,你所做的一切看起来不错,但我认为你错过了这一行。

代码语言:javascript
运行
复制
Bootstrapper.Initialise();

这应该会进入MVC应用程序Global.asax.cs的启动代码--例如,将其放在此方法的末尾即可。

代码语言:javascript
运行
复制
protected void Application_Start()
票数 1
EN

Stack Overflow用户

发布于 2013-11-15 15:25:23

也许你正在关注这篇文章。如果不是的话,它能帮到你。

http://www.asp.net/web-api/overview/extensibility/using-the-web-api-dependency-resolver

对于错误,尝试在没有参数的控制器中添加构造函数:

代码语言:javascript
运行
复制
public ValuesController()
{

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20003865

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档