IDispatchMessageInspector和InstanceContextMode.Single命令未维护

时间:2013-06-21 15:11:53

标签: c# wcf service

我有一个单实例,单线程WCF服务(一项要求)。我需要在每个操作合同执行之前执行一个函数,例如ClearUnmanagedState()。我为此已经实现了IDispatchMessageInspectorAfterReceiveRequest,但是发现它在消息接收时执行,而不是在即将执行操作时执行。

因此,我的InstanceContextMode.SingleClearUnmanagedState()要求方面没有受到尊重。

我是否可以实现任何WCF服务行为以允许单个上下文,在执行操作合同之前执行单线程执行?

1 个答案:

答案 0 :(得分:0)

您需要IOperationInvoker

最好的示例实现之一是Carlos Figueira的博客: WCF Extensibility – IOperationInvoker

  

操作调用程序是WCF运行时中的最后一个元素   在达到用户代码(服务实现)之前调用 -   实际调用服务操作是调用者的责任   代表运行时。