1

Unity が注入しない理由や、コンストラクターにパラメーターがあるという事実を何かが無視している理由がわかりません。この投稿を見ましたが、NinJect について詳しく説明していますが、Unity と Vs2012 にも同様の問題があるのではないかと思います。私の Application_Start コードでは、Unity の登録後、Unity からインターフェイスを解決し、必要なすべてのオブジェクトを取得しているため、Unity が機能していることはわかっています。パラメーターを持つコントローラーのコンストラクターが無視される理由がわかりません。コントローラーもunityで登録します。そのコントローラーを叩こうとすると、No parameterless constructor defined for this object.エラーが発生します。

他の誰かがこの同じ問題に遭遇したかどうか、私は興味があります.

4

3 に答える 3

2

彼は私を正しい方向に導いたので、Stevenに小道具を与える必要がありますが、基本的には、 SetResolver メソッドを使用して標準コントローラーに登録するのではなく、 ApiControllerにリゾルバーを登録するメソッドを使用していました。

于 2012-09-26T19:33:12.927 に答える
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 に答える
0

私も同じ問題を抱えていました。Unity をインストールしてから Unity.Mvc4 をインストールしました。Unity に関係するすべてのものをアンインストールし、Unity.Mvc4 のみを再インストールしたところ、すべてが宣伝どおりに機能しました。

于 2015-05-07T21:03:17.460 に答える