Вам следует взглянуть на пространство имен System.ServiceModel.Dispatcher
, поскольку оно предоставляет ряд интерфейсов, которые вы можете использовать для перехвата вызовов на стороне клиента (и сервера) для выполнения подсчета.
Обратите внимание, что большинство методов здесь работают на уровне Message
;WCF на высоком уровне не знает о концепции методов, он отправляет сообщения, получает их, а затем обрабатывает их.
Однако, по большей части, из Message
можно выяснить, что такое отображениедолжно быть и запишите это.
Как только вы реализуете соответствующий интерфейс диспетчера, вы просто подключите его к ClientBase<T>
экземплярам .В интерфейсе диспетчера убедитесь, что у вас есть способ удержать исходного диспетчера (если вы идете по этому маршруту), чтобы вы могли переадресовывать свои вызовы соответствующим образом.