При добавлении пользовательских хранилищ удостоверений приложение вызывает исключение StackOverflowException? - PullRequest
0 голосов
/ 28 мая 2019

Я работаю над проектом, в котором я хочу отделить DbContext от удостоверения, но при регистрации пользовательских хранилищ приложение выдает исключение StackOverflowException.

Вот мои собственные хранилища:

UserStore:

public class UserStoreProvider : IUserStore<User>, IUserPasswordStore<User>
    {         IUserService _userService; 
        public UserStoreProvider(IUserService userService)
       {            _userService = userService;
        }
       public async Task<IdentityResult> CreateAsync(User user, CancellationToken cancellationToken)
       {
            await _userService.CreateAsync(AutoMapper.Mapper.Map(user, new CommonModels.User.User()));

             return IdentityResult.Success;
        }

         public Task<IdentityResult> DeleteAsync(User user, CancellationToken cancellationToken)
         {
             throw new NotImplementedException();
         }
        //Some implementation is not pasted here
 }

RoleStore:

public class RoleStoreProvider : IRoleStore<Role>
    {
        public Task<IdentityResult> CreateAsync(Role role, CancellationToken cancellationToken)
        {
            throw new NotImplementedException();
        }

        public Task<IdentityResult> DeleteAsync(Role role, CancellationToken cancellationToken)
        {
            throw new NotImplementedException();
        }

        public void Dispose()
        {
            Dispose();
        }

        public Task<Role> FindByIdAsync(string roleId, CancellationToken cancellationToken)
        {
            throw new NotImplementedException();
        }

        public Task<Role> FindByNameAsync(string normalizedRoleName, CancellationToken cancellationToken)
        {
            throw new NotImplementedException();
        }
     //Some implementation is not pasted here
 }

И регистрация службы:

 public void ConfigureServices(IServiceCollection services)
        {

            services.Configure<CookiePolicyOptions>(options =>
            {
                // This lambda determines whether user consent for non-essential cookies is needed for a given request.
                options.CheckConsentNeeded = context => true;
                options.MinimumSameSitePolicy = SameSiteMode.None;
            });

            services.AddIdentity<User, Role>()
              .AddRoles<Role>()
              .AddUserStore<UserStoreProvider>()
              .AddRoleStore<RoleStoreProvider>().AddDefaultUI();

            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
        }

После запуска приложения, пытаясь получить доступ к страницам, но приложение внезапно закрываетсяи бросая StackOverflowException.enter image description here

Другие детали:

Работа с ядром Dotnet 2.2

Visual Studio 2019

Есть идеи?

...