1

我不知道为什么 Unity 没有注入,或者某些东西忽略了我在构造函数中有参数的事实。我看到了这篇文章,但它更多地谈论了 NinJect,但让我相信 Unity 和 Vs2012 可能存在类似的问题。我知道 Unity 正在工作,因为在我的 Application_Start 代码中,在我的统一注册之后,我从统一解析一个接口并取回所有需要的对象。我只是不知道为什么我的控制器的带参数的构造函数被忽略了。我也用统一注册控制器。当我尝试点击那个控制器时,我得到了No parameterless constructor defined for this object.错误。

我很好奇是否有其他人遇到过同样的问题。

4

3 回答 3

2

我必须向Steven提供道具,因为他引导我朝着正确的方向前进,但基本上,我使用一种方法将我的解析器注册到ApiController,而不是使用 SetResolver 方法将它注册到标准控制器。

于 2012-09-26T19:33:12.927 回答
0

我有同样的问题。我已经安装了 Unity,然后是 Unity.Mvc4。我卸载了所有与 Unity 相关的东西,只重新安装了 Unity.Mvc4,一切都像宣传的那样工作。

于 2015-05-07T21:03:17.460 回答
0

对于 Unity 中的此错误,请转到 Global.asax 并编写以下代码。初始化引导程序。

protected void Application_Start()
    {
        AreaRegistration.RegisterAllAreas();
        FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
        RouteConfig.RegisterRoutes(RouteTable.Routes);
        BundleConfig.RegisterBundles(BundleTable.Bundles);
        Bootstrapper.Initialise();





    }
于 2016-01-26T07:56:16.897 回答