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