WCF: обработка исключений в OneWay OperationContract

У меня есть дуплексный сервис WCF с клиентом Silverlight и сервис WCF.NET 3.5.

У меня есть такой сценарий: во время операции двусторонней отправки OneWay с сервера на клиент, если в обработчике клиентских уведомлений происходит исключение, канал автоматически отключается, поэтому любые последующие дуплексные вызовы из-за тайм-аута сервера и сбой. (Как объяснено здесь односторонние операции и исключения)

Мои вопросы):

  1. Могу ли я просто украсить FaultContract OneWay OperationContract, обернуть исключение на клиенте и предотвратить сбои канала?
  2. если нет, каким другим способом можно было бы перехватить исключение, которое произошло на клиенте во время дуплексной передачи с сервера?

1 ответ

Когда вы используете OneWayOperationContractПолучатель не должен отвечать, а отправитель запроса не должен ожидать ответа.

  1. Ты не можешь
  2. Лучше всего, вы можете создать еще один OneWayOperationContract между клиентом и сервисом, чтобы сервис мог отправить ошибку клиенту.
Другие вопросы по тегам