WCF: перехватить сообщение отправить / получить прогресс в клиенте - PullRequest
2 голосов
/ 20 июля 2009

У меня есть приложение для настольного компьютера, отправляющее / получающее сообщения (не файлы) в / из службы WCF.

Как мне перехватить общий размер сообщения, подлежащего передаче, и получить обратную связь (количество переданных байтов) во время передачи, чтобы пользователь рабочего приложения мог отображать индикатор выполнения?

Сколько существует подходов? Какой вариант лучше всего подходит для моего сценария приложения?

Любые комментарии или предложения будут с благодарностью,

Cullen

1 Ответ

4 голосов
/ 20 июля 2009

Вам нужно будет проверить точки расширяемости WCF, чтобы подключиться к процессу отправки и отправки сообщения.

Вы могли бы, например, реализовать IClientMessageInspector для проверки сообщения непосредственно перед его отправкой на сервер и, возможно, также ответа при его возврате. См. MSDN документы для начальной точки.

Это также может быть хорошей отправной точкой - белая книга по основам расширяемости WCF .

Этот джентльмен здесь показывает, как Написать инспектору сообщений WCF - именно то, на что вы будете смотреть.

Я сомневаюсь, что вы сможете подключиться к циклу обратной связи типа «так много байт уже передано» - плюс, если ваши сообщения имеют разумный размер, отправка их по проводам будет делом непростым микросекунд и обновление вашего индикатора выполнения заняло бы больше времени, чем отправка: -)

Марк

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...