我有一个单实例,单线程WCF服务(一项要求)。我需要在每个操作合同执行之前执行一个函数,例如ClearUnmanagedState()
。我为此已经实现了IDispatchMessageInspector
和AfterReceiveRequest
,但是发现它在消息接收时执行,而不是在即将执行操作时执行。
因此,我的InstanceContextMode.Single
在ClearUnmanagedState()
要求方面没有受到尊重。
我是否可以实现任何WCF服务行为以允许单个上下文,在执行操作合同之前执行单线程执行?
答案 0 :(得分:0)
最好的示例实现之一是Carlos Figueira的博客: WCF Extensibility – IOperationInvoker
操作调用程序是WCF运行时中的最后一个元素 在达到用户代码(服务实现)之前调用 - 实际调用服务操作是调用者的责任 代表运行时。