2010-03-18 3 views
4

Я звоню в веб-службу .NET 2.0 в рамках существующего веб-сервиса .NET 2.0. Я хотел бы знать, какое исключение выбрано из веб-метода, если произойдет таймаут. Я установил тайм-аут веб-службы на меньшее значение, чем 90 секунд по умолчанию, и я хочу добавить бизнес-логику, если произойдет тайм-аут.Какое исключение вызывается, если веб-сервис, который я использую, отключается?

Является ли [System.Net.WebException][1] исключением, на которое я должен смотреть?

ответ

1

Вы должны искать в TimeoutException:

Исключение, которое генерируется, когда время, отведенное для процесса или операции истекло.

+0

Будет ли работать нормально в случае веб-сервиса? –

+1

Это не работает в случае веб-сервиса. Захват [WebException] (http://msdn.microsoft.com/en-us/library/system.net.webexception (v = vs.110) .aspx). – broadband

7

Этот вид зависит от того, какая «версия» используемых вами веб-сервисов.

Используя WCF, вы фактически получите TimeoutException. Вы также должны обрабатывать CommunicationException, если вы пытаетесь обработать тайм-ауты. Иногда я также видел FaultException, хотя технически не должен бывают (но это все равно время от времени). FaultException является потомком CommunicationException, поэтому вам не нужно обрабатывать его отдельно, просто полезно знать, что это может произойти.

В ASMX вы обычно получите обернутый SoapException, для которого вам необходимо проверить свойство InnerException, чтобы увидеть, что действительно пошло не так.

Использование WSE, вы увидите еще одно исключение, ResponseProcessingException, для которого снова вы должны проверить InnerException для деталей.

+0

Я использую веб-службы .NET 2.0 –

+0

@BT: * .NET 2.0 * не является типом веб-сервиса, это версия Framework. Предполагая, что вы имеете в виду веб-службы ASMX, см. Третий абзац. – Aaronaught

+0

Спасибо! Я предполагаю, что InnerException также является типом exceptio, поэтому мой вопрос остается там, что, как я узнаю, что это исключение тайм-аута, я имею в виду, к какому типу внутреннего исключения я должен смотреть? –

Смежные вопросы