簡體   English   中英

Ninject屬性或構造注入ASP.NET MVC3

[英]Ninject property or construction inject ASP.NET MVC3

我正在使用Ninject.MVC3。

private static void RegisterServices(IKernel kernel)
{
    kernel.Bind<Repository>().To<Repository>();
}       

在App_Start中注冊它們就像這樣。 它在請求此存儲庫的控制器上工作正常。 但是我也有一些需要這個存儲庫的類。

        [Inject]
        public MemberShipService(Repository repository)
        {
            this.Repository = repository;
        }

^類構造函數的示例。 我試過構造函數注入這只是給我錯誤,因為它請求構造函數的參數。 物業注入根本不起作用。

我是否需要做一些額外的工作才能在asp.net mvc3中進行構造函數或屬性注入? 我沒有在NinjectWebCommon中做任何其他配置,除了我上面發布的那一行。

您需要使用依賴項解析程序解析類的實例才能使用它,使用以下命令創建MemberShipService的實例:

var memberShipService = 
    DependencyResolver.Current.GetService(typeof(MemberShipService)) as MemberShipService;

這將使用您指定的構造函數綁定您的實例變量Repository

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM