Unity.MVC无法使用参数解析我的控制器ctor

时间:2016-08-11 17:48:01

标签: c# .net dependency-injection asp.net-web-api2 unity-container

我有一个ASP.MVC 4站点,它也有一个Web API 2控制器。我正在使用Unity.MVC进行DI。 当我从javascript调用API时,它说它无法创建控件的实例。如果我创建一个默认的ctor,它会创建实例,但当然依赖项为null,但至少我知道该部分正在工作。

这是我的api ctor:

Activator.CreateInstance(type, (IOperationContext)null, (Dictionary<string, object>)null);

这里面是UnityConfig.cs(当我从NuGet获取并且我填写了依赖项时,它是为我自动生成的)。当我启动应用程序时会调用它。

CreateInstance(Type type, params object[] args)

我错过了什么?

1 个答案:

答案 0 :(得分:3)

WebAPI控制器具有单独的Unity注册。由于您已经在使用 Unity.MVC 包,因此可以添加Unity.AspNet.WebApi引导程序。

由于配置会自动替换,我会在导入第二个包之前保存UnityConfig.cs的内容,然后手动组合这两个包。但真正的区别在于单独的 Unity * Activator.cs 文件。