我意识到这个问题在堆栈溢出上被问了很多次,但我尝试了一些答案,但没有解决我的问题。我最近刚刚在我的项目中添加了统一性,除了 userManager 类之外,一切都工作正常。如果我尝试在 session 中访问它,它会抛出“无法访问”错误,如我的标题中所述。
The Code that is throwing the issues and the Container below
public AccountController(UserManager<ApplicationUser> userManager)
{
UserManager = userManager;
// Start of new code
UserManager.UserValidator = new UserValidator<ApplicationUser>(UserManager)
{
AllowOnlyAlphanumericUserNames = false,
};
}
container.RegisterType<AdminController>();
container.RegisterType<AccountController>();
container.RegisterType<IBlogPostRepository, BlogPostRepository>(new HierarchicalLifetimeManager());
container.RegisterType<IBlogViewRepository, BlogViewRepository>(new HierarchicalLifetimeManager());
container.RegisterType<ITagRepository, TagRepository>(new HierarchicalLifetimeManager());
container.RegisterType<ICategoryRepository, CategoryRepository>(new HierarchicalLifetimeManager());
container.RegisterType<IBlogCategoryRepository, BlogCategoryRepository>(new HierarchicalLifetimeManager());
container.RegisterType<IBlogTagRepository, BlogTagRepository>(new HierarchicalLifetimeManager());
container.RegisterType<IApplicationUserRepository, ApplicationUserRepository>(new HierarchicalLifetimeManager());
container.RegisterType<UserManager<ApplicationUser>>(new HierarchicalLifetimeManager());
container.RegisterType<IUserStore<ApplicationUser>, UserStore<ApplicationUser>>(new InjectionConstructor(new CatchMediaContext()));
container.RegisterType<DbContext, CatchMediaContext>(new HierarchicalLifetimeManager());
最佳答案
如果另一个对象引用了 userManager 并且该对象已被释放,则它可能会随之释放 userManager。另一种可能性是 userManager 需要某种尚未完成的初始化,并且其属性会引发误导性的已处理异常(这在 winform 控件中很常见)。
关于c# - 无法访问已处置的对象对象名称: 'UserManager` 1',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25071726/