首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ServiceHost消息接收事件?

ServiceHost消息接收事件?
EN

Stack Overflow用户
提问于 2009-09-02 22:14:22
回答 1查看 2K关注 0票数 0

在ServiceHost、Channel或Dispatcher处理消息之前,肯定有要附加的事件?我假设它可以通过OperationContext.Current访问,但我能找到的最接近的事件是打开和关闭。有没有像MessageReceived或BeforeMessageProcessed这样的事件?

如果不使用事件,是否有其他方法可以使用WCF类/配置来确定ServiceHost SingletonInstance当前是否正在处理DataContract?

编辑: IDispatchMessageInspector (AfterReceiveRequest和BeforeSendReply)非常完美。我有大约8个服务,需要知道他们目前正在处理的消息(DataContracts)。虽然可以使用类似于接受委托并执行BeforeReceive();InvokeDelegate();AfterReceive()的帮助器方法;但使用IDispatchMessageInspector和行为要容易得多。

EN

回答 1

Stack Overflow用户

发布于 2009-09-02 22:36:06

据我所知,在服务主机级别还没有这样的事件。你能解释一下你想要实现的目标吗?

通常,如果您有任何必须在消息到达时完成的处理,那么正确的方法是使用WCF为此提供的几个扩展点中的一个,如IDispatchMessageInspector。在本例中,您将通过service or an endpoint behavior将消息检查器注入到WCF管道中。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1370435

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档