Я пытаюсь понять vNext.
Я написал собственный UserStore, который работает с MongoDB и реализует следующие интерфейсы:
public class UserStore : IUserStore<ApplicationUser>, IUserPasswordStore<ApplicationUser>, IUserSecurityStampStore<ApplicationUser>,
IUserLoginStore<ApplicationUser>, IUserClaimStore<ApplicationUser>, IUserEmailStore<ApplicationUser>, IUserRoleStore<ApplicationUser>,
IUserTwoFactorStore<ApplicationUser>
В Startup.cs добавлено:
app.UseServices(services =>
{
services.AddIdentity<ApplicationUser>()
.AddUserStore(() => { return new UserStore(); })
.AddUserManager<UserManager<ApplicationUser>>()
.AddHttpSignIn();
services.AddMvc();
});
Затем попытался использовать неизмененный AccountController из шаблона Visual Studio и столкнулся с проблемами.
При входе в систему я получаю ObjectDisposedException в UserStore.FindByNameAsync() -- нечто, называемое UserStore.Dispose().
В коде UserManager на github. com/aspnet Store.Dispose() вызывается только в UserManager.Dispose().
Я могу просто игнорировать вызовы Dispose и все работает нормально, но это не очень хороший способ.
Так что я понятия не имею, что мне делать
P.S. Вопрос: что (и почему) может вызвать UserStore.Dispose()?