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