У меня есть приложение ASP.NET с таким кодом, выполняющимся для веб-запроса:
ProcessAction(actionId)
Я хочу быть уверен, что ProcessAction не выполняется одновременно для одного и того же actionId, поэтому мне нужносделать что-то вроде этого:
WaitIfActionWithIdIsExecuting(actionId)
ProcessAction(actionId)
Какой механизм синхронизации .NET я должен использовать?Mutex, Monitor, AutoResetEvent, ManualResetEvent?
Ситуация, когда потоку придется ждать, будет очень редкой.