WCF: обработка исключений в OneWay OperationContract
У меня есть дуплексный сервис WCF с клиентом Silverlight и сервис WCF.NET 3.5.
У меня есть такой сценарий: во время операции двусторонней отправки OneWay с сервера на клиент, если в обработчике клиентских уведомлений происходит исключение, канал автоматически отключается, поэтому любые последующие дуплексные вызовы из-за тайм-аута сервера и сбой. (Как объяснено здесь односторонние операции и исключения)
Мои вопросы):
- Могу ли я просто украсить
FaultContract
OneWay OperationContract
, обернуть исключение на клиенте и предотвратить сбои канала? - если нет, каким другим способом можно было бы перехватить исключение, которое произошло на клиенте во время дуплексной передачи с сервера?
1 ответ
Когда вы используете OneWay
OperationContract
Получатель не должен отвечать, а отправитель запроса не должен ожидать ответа.
- Ты не можешь
- Лучше всего, вы можете создать еще один
OneWay
OperationContract
между клиентом и сервисом, чтобы сервис мог отправить ошибку клиенту.