當然必須有一個事件到的ServiceHost或通道或分派器處理消息之前附着到?我假設它可以通過OperationContext.Current訪問,但是我能找到最接近的事件被打開和關閉。有沒有像MessageReceived或BeforeMessageProcessed事件?ServiceHost消息接收事件?
如果不使用事件,有沒有使用WCF類/配置,以確定是否ServiceHost的SingletonInstance正在處理DataContract一些其他的方式?
編輯:IDispatchMessageInspector(AfterReceiveRequest和BeforeSendReply)是完美的。我有大約8個服務,需要知道他們當前正在處理的消息(DataContracts)。儘管可以使用類似於輔助方法的方式來獲取委託並執行BeforeReceive(); InvokeDelegate(); AfterReceive();使用IDispatchMessageInspector和行爲要容易得多。