2011-09-04 52 views
0

我完全新的依赖注入注入一些控制器的详细课程。我正在使用asp mvc和ninject。 我转达了 'DefaultControllerFactory' 一类,并添加以下 'AddBindings' 代码:如何使用ninject

private void AddBindings() 
     {    
      ninjectKernel.Bind<ICitiesRepository>().To<CitiesRepository>().WithConstructorArgument(
       "connectionString", ConfigurationManager.ConnectionStrings["cstr"].ConnectionString); 

      ninjectKernel.Bind<ICountriesRepository>().To<CountriesRepository>().WithConstructorArgument(
       "connectionString", ConfigurationManager.ConnectionStrings["cstr"].ConnectionString); 

      ninjectKernel.Bind<IUserRepository>().To<UserRepository>().WithConstructorArgument(
       "connectionString", ConfigurationManager.ConnectionStrings["cstr"].ConnectionString); 

     } 

在我 '的AccountController' 我通过构造器注入IUserRepository:

private IUserRepository userRepository; 

     public AccountController(IUserRepository userRepository) 
     { 
      this.userRepository = userRepository; 
     } 

在这里,我来发行。帐户控制器包含“注册用户”操作。用户必须选择标准参数(用户名,名字等)一些附加参数,如国家和城市。如何在一些控制器中注入更多的存储库类?什么是最好的策略?

回答

1

How to use Ninject with ASP.NET MVC

在这里你可以找到完整的教程如何设置Ninject与ASP.NET MVC

private IUserRepository userRepository; 
private IAddressRepository addressRepository; 

     public AccountController(IUserRepository userRepository, IAddressRepository addressRepository) 
     { 
      this.userRepository = userRepository; 
      this.addressRepository = addressRepository; 
     } 
+0

这是关于教程如何设置ninject。但我设置它我只是不知道如何在一个控制器中插入更多的依赖类? – 1110

+0

您可以根据需要在构造函数中使用尽可能多的存储库。检查样品。 – Samich