WCF: обработка исключений в OneWay OperationContract - PullRequest
5 голосов
/ 06 февраля 2011

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

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

Мой вопрос (ы):

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

1 Ответ

0 голосов
/ 15 марта 2016

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

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