【发布时间】:2015-08-29 01:38:02
【问题描述】:
我在我的应用程序中使用 Unity DI。我已经在UnityConfig.cs 文件中注册了我的存储库。
public static void RegisterTypes(IUnityContainer container)
{
// NOTE: To load from web.config uncomment the line below. Make sure to add a Microsoft.Practices.Unity.Configuration to the using statements.
// container.LoadConfiguration();
container.RegisterType<DbContext, RanoChatDbContext>(new HierarchicalLifetimeManager());
container.RegisterType<UserManager<AppUser>>( new HierarchicalLifetimeManager());
container.RegisterType<IUserStore<AppUser>, UserStore<AppUser>>(new HierarchicalLifetimeManager());
container.RegisterType<AccountController>( new InjectionConstructor());
container.RegisterType<IRepositories, Repositories>();
}
和AccountController
private ApplicationSignInManager _signInManager;
private ApplicationUserManager _userManager;
private IRepositories repos;
public AccountController()
{
}
public AccountController(ApplicationUserManager userManager,
ApplicationSignInManager signInManager,
IRepositories Repositories)
{
repos = Repositories;
UserManager = userManager;
SignInManager = signInManager;
}
但是repos是null
虽然在我的 HomeController 中正确初始化了相同的存储库。
IRepositories repos;
public HomeController(IRepositories repos)
{
this.repos = repos;
}
【问题讨论】:
标签: c# asp.net-mvc dependency-injection unity-container asp.net-identity