我需要拦截所有Web服务的WCF请求。所有服务都遵循严格的模型,其中操作必须从我们的基本请求类型扩展单个请求。该基本请求类型包含我们需要各种系统级支持的属性,自定义日志记录是一个,但还有许多其他。我希望使用IDispatchMessageInspector,但我不知道如何从“消息”中获取请求对象,而无需从正文中重新创建副本。我需要这个是高效的,所以每个请求创建两个副本不会削减它。
我知道我可以使用System.Reflection.Emit创建代理,但这会与服务激活和工厂混淆......我希望有更容易获得的东西,比如CXF拦截器为Java工作的方式。 / p>
我是否可以在调度到服务impl之前拦截服务器中的实际单个请求实例?