У меня есть служба WCF, которая выдает мне эту ошибку в условиях загрузки (и я не могу воссоздать ошибку иначе). Мы пытались найти способ обойти это уже около недели, но безуспешно.
Ошибка, которую я вижу, состоит из двух частей:
System.ServiceModel.CommunicationException: Ошибка: (Запрос был прерван: запрос был отменен.) Произошла ошибка при передаче данных по каналу http.
и:
System.Net.WebException: запрос был прерван: запрос был отменен.
Я видел, как многие люди предлагали отключить работу с поддержкой активности, перегрузив метод в файле Reference.cs
и установив KeepAlive = false
, однако наша клиентская сторона использует ссылку на службу (в дополнение к веб-ссылке), и эта опция больше не существует.
Другой вариант, который я видел, заключался в том, чтобы добавить пользовательскую привязку к службе вместо BasicHttpBinding
, которую мы используем сейчас, но это беспокоило бы обратную поддержку веб-службы для тех, кто использовал веб-ссылку (поскольку CustomBinding
не поддерживает SOAP).
Кто-нибудь уже имел дело с этой ошибкой? Есть ли способ отключить поддержку в WCF, не затрагивая серверную часть? Есть ли что-нибудь еще, что может вызвать эту ошибку?