В приведенной статье описан удобный и красивый способ реализации обработчика сообщений для WCF сервиса. Причем как для клиента, так и для сервиса.
Идея статьи: сделать сжатие данных для WCF сервиса. Причем оно должно быть прозрачным и удобным для использования.
Но кроме этого, данный способ может оказаться полезным в любом случае, когда вам нужно что-то сделать с сообщением перед его получением сервисом, или перед началом обработки его клиентом. Например, добавить header, или наоборот считать что-то из заголовка и проверить.
Итак, линка:
http://www.gotdotnet.ru/blogs/AlexMAS/462/
Данное решение подключается как атрибут класса. Это может быть не всегда удобно. Например, необходимо одну и ту же реализацию поставлять как с обработкой сообщений, так и без.
Это можно сделать, перенеся настройки в конфигурационный файл -
http://www.eggheadcafe.com/sample-code/WCFWF/776b4a8d-8ea5-4334-a440-7d192b3ad83d/using-behaviorextensionelement-and-iservicebehavior-to-add-an-ierrorhandler-to-a-wcf-service.aspx