WCF会话由属性
启动[OperationContract(IsInitiating = true, IsTerminating = false)]
并以
结束[OperationContract(IsInitiating = false, IsTerminating = true)]
有没有办法根据某些条件终止当前的WCF会话?让我们说验证凭据否则不会让会话开始。有没有办法在不启动会话的操作合同中抛出异常的情况下执行此操作。
这是为了确保客户端在会话终止后不会进行其他调用。可能是WCF中的限制,因为会话是客户端启动的。
答案 0 :(得分:1)
有没有办法根据某些内容终止当前的WCF会话 条件?让我们说验证凭据否则不要让会话 开始。有没有办法做到这一点,而不会抛出异常 启动会议的运营合同。
基于您的代码IsInitiating和Isterminating它会在使用
调用方法后自动向客户端抛出异常IsInitiating = false,IsTerminating = true
不用
调用方法IsInitiating = true,IsTerminating = false
我不认为你可以在不抛出异常的情况下处理它,因为WCF在引擎盖下工作。或者可能是他们的“我不知道”。
您可能会考虑我在下面写的一些信息。
您没有提及您在服务中使用的消息类型。
您实施了哪种验证凭证机制?
这是为了确保客户端不会进行其他调用 一旦会话终止。可能是WCF中的限制 会议是客户发起的。
有关在WCF中close连接的不同方法的其他信息。