В сценарии дуплекса сервера WCF-клиента, какой рекомендуемый способ сообщить серверу о возникновении ошибки на стороне клиента? Предположим, что сервер уведомляет одного из клиентов о необходимости выполнять определенную операцию, и на клиентской стороне возникает исключение.WCF-дуплексный сценарий - уведомление сервера об ошибках клиента
На интерфейсе обратного вызова, у меня есть что-то вроде этого
[OperationContract(IsOneWay = true)]
void Work(...);
Что лучший подход:
- Реализовать
NotifyServer(int clientId, string message)
сообщение о том, что клиент может позвонить, чтобы сообщить пользователю, что запрошенной операции не удалось, - Если я установил
IsOneWay = false
в рабочий договор, должен ли я звонить каждому клиенту в потокеBackgroundWorker
, чтобы сохранить пользовательский интерфейс отзывчивым? - Реализация асинхронных операций на сервере? Как это будет работать? Я могу сгенерировать асинхронную операцию на клиенте, должен ли я использовать один и тот же шаблон (,
EndWork
) для метода обратного вызова клиента?
не могу думать ни о чем другом, потому что бросать FaultException
на стороне клиента, когда IsOneWay = true
не будет работать.
Любые советы?
Спасибо заранее!