当然必须有一个事件到的ServiceHost或通道或分派器处理消息之前附着到?我假设它可以通过OperationContext.Current访问,但是我能找到最接近的事件被打开和关闭。有没有像MessageReceived或BeforeMessageProcessed事件?ServiceHost消息接收事件?
如果不使用事件,有没有使用WCF类/配置,以确定是否ServiceHost的SingletonInstance正在处理DataContract一些其他的方式?
编辑:IDispatchMessageInspector(AfterReceiveRequest和BeforeSendReply)是完美的。我有大约8个服务,需要知道他们当前正在处理的消息(DataContracts)。尽管可以使用类似于辅助方法的方式来获取委托并执行BeforeReceive(); InvokeDelegate(); AfterReceive();使用IDispatchMessageInspector和行为要容易得多。