Wcf如何在OperationContract [termInitiating = true]中终止会话

时间:2016-11-08 09:08:17

标签: wcf

我有一份名为&#34的操作合同;登录"它有IsInitiating = true flag。

客户端将此凭据发送给此功能,我需要检查凭据并向客户端返回一条消息,例如"您的凭据不正确!"我必须立即关闭会议。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

在同一操作中无法执行此操作,因为您无法同时使用IsInitiating=trueIsTerminating=true

MSDN展示了如何实现两者:MSDN

可能的解决方案是抛出异常而不是返回消息。然后,您可以在客户端中处理此异常并关闭通道。

这是如何在MSDN证明的“幕后”工作:

  

在客户端应用程序中,IsTerminating设置为true的值指示WCF在回复到达后关闭通道。

关于如何在服务器端结束可以帮助您的会话还有另外一个问题:end-a-wcf-session-from-the-server