背景:
我注意到在我的 WCF 服务中,当我抛出一个异常(一个普通的旧异常)时,客户端通道进入故障状态并且必须中止并重新创建,然后我才能在该通道上进行另一个调用。没关系。这就是它的意图。我得到它。因此,如果需要再次调用,我只需调用 abort() 并重新创建。
但是,仅当我使用启用了安全性的绑定时才会发生客户端通道故障。当我使用 basicHttpBinding 时,我可以在客户端上得到一个异常,然后继续使用 ServiceClient 对象而不告诉我它处于“故障状态”。
此外,当我关闭 wsHttpBinding 或 netTcpBinding 的安全性时,我可以在出现异常后重新使用通道。
问题:
绑定的安全性是什么导致通道出错,因此无法使用?