C# Именованный СемафорСлим - PullRequest
0 голосов
/ 03 февраля 2020

В моем приложении есть несколько входящих запросов. Каждый запрос имеет ключ (строку). Я хочу заблокировать ключ, поэтому два запроса с одним и тем же ключом обрабатываются синхронно. Я прочитал все различные механизмы блокировки, но ни один из них, кажется, не обеспечивает то, что мне нужно.

lock Не удается обработать тайм-ауты.

SemaphoreSlim Невозможно назвать. Я мог заблокировать только все запросы.

Semaphore Может существовать и после выхода из приложения, если приложение принудительно закрыто.

Mutex Должен быть освобожден в том же потоке, поэтому я не могу ждать, пока держусь за него.

Было бы идеально что-то вроде именованного SemaphoreSlim (мне не нужна межпроцессная блокировка ). Есть ли что-то в фреймворке, или пакет Nuget, или репозиторий Github, который предоставляет то, что мне нужно?

...