Целесообразно ли использовать SemaphoreSlim в транзакции БД? - PullRequest
0 голосов
/ 23 ноября 2018

У меня есть этот кусок кода, который я использую для обновления записи.Я хочу знать, как использовать SemaphoreSlim, если в одном блоке кода есть несколько операторов await.

Возможны ли взаимоблокировки и рекурсивные блокировки для приведенного ниже фрагмента кода, и когда это происходит, как избежать взаимоблокировок и рекурсивных блокировок при использовании SemaphoreSlim?

SemaphoreSlim writelock = new SemaphoreSlim(1,1);

Public async task AddValueToDB(Valuedto value)
    {
         try{
                    await writelock.WaitAsync();
                    _db.tblAction.add(Valuedto);
                    await _db.SavechangesAsync();  
            }
           catch(Exception ex){throw ex;}
           finally{writelock.Release();}
     }
}

Пожалуйста, дайте мнезнать, если вы хотите больше информации о моем требовании.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...