Исключение, когда я использую семафор с текущим именем - PullRequest
0 голосов
/ 17 января 2019

Я использую .net core 2.1 для создания веб-API. Теперь столкнулись с проблемой семафора. Выдает исключение, когда я устанавливаю семафор с определенным именем.

Месяц назад я развернул семафор с именем «loginExternal». Но теперь это исключение. Я изменил имя и развернул, он снова работает, но когда я вернулся к старому имени ("loginExternal"), он снова генерирует исключение UnauthorizedAccessException.

public class UserService : IUserService
{

   private readonly Semaphore _semaLogin;

   public UserService()
   {
            // create semaphore
       _semaLogin = new Semaphore(1, 1, "loginExternal"); 
   }

    public async Task<User> ExternalLoginAsync()
    {
       _semaLogin.WaitOne();
       try
       {
          // my code
       }
        finally
       {
           _semaLogin.Release();
       }
    }
}

Я неправильно реализовал семафор? Как решить текущее исключение? как предотвратить это в будущем?

...