У меня есть служба WCF, которая давала мне эту ошибку в условиях загрузки (и, похоже, я не могу воссоздать ошибку). Мы пытались найти способ вокруг него в течение недели теперь нет такой удачи ..System.Net.WebException: запрос был прерван: запрос был отменен
ошибки я вижу, состоит из двух частей к нему,
System.ServiceModel.CommunicationException: An error: (The request was aborted: the request was cancelled.) occurred while transmitting data over the http channel.
и:
System.Net.WebException: The request was aborted: the request was cancelled.
Я видел, как многие люди предлагают отключить работу, сохраняя при этом перегрузку метода в файле Reference.cs
и установив KeepAlive = false
, однако наша клиентская сторона использует ссылку на службу (в дополнение к веб-ссылке), и эта опция не существует больше.
Другой вариант я видел в том, чтобы добавить пользовательские привязки к сервису вместо BasicHttpBinding
мы используем сейчас, но это будет беспокоить обратную поддержку веб-сервиса для тех, кто использовал webReference (с CustomBinding
не SOAP включен).
Кто-нибудь имел дело с этой ошибкой раньше? Есть ли способ отключить сохранение в WCF без влияния на сервер? Есть ли что-нибудь другое, что поддерживает жизнь, которая, как известно, вызывает эту ошибку?
Вы можете получить доступ к контексту Http и делать то, что хотите. Посмотрите здесь: http://blogs.msdn.com/b/justinjsmith/archive/2007/08/22/setting-http-headers-in-wcf-net-3-5.aspx – Aliostad