Мне нужно создать службу WCF, которая позволяет только одному клиенту одновременно. Все остальные запросы должны быть отклонены, и клиент должен повторить попытку позже. Для завершения запроса потребуется около минуты.WCF: служба, которая разрешает только одному клиенту и отклоняет другие.
Я пробовал:
[ServiceBehavior(IncludeExceptionDetailInFaults=true,
InstanceContextMode=InstanceContextMode.Single,
ConcurrencyMode=ConcurrencyMode.Single)]
но если запрос на обслуживание несколько раз (с использованием нескольких потоков) в клиенте, я получаю исключение тайм-аута на 3 запроса, но сервис на самом деле выполнить Обработка 3-го запроса!
Я считаю, что эти настройки делают вызовы, которые будут поставлены в очередь и будут выполняться один за другим (так как услуги уже получили их), что вам нужно, что вызов возвращает ошибку, если есть другое в правильном процессе ?. У меня есть аналогичная проблема, когда мне нужно, чтобы один клиент использовал канал wcf, а любые другие соединения были отказаны с кодами ошибок, используя указанные вами настройки, а приведенный ниже ответ все же позволит подключиться и оканчивает вызовы. –