我记得很清楚,在.NET Framework 3.x中,当服务返回异常( FaultException )时,WCF服务客户端( ClientBase<T> )会出现故障状态 . 当服务客户端未正确处理/关闭时,这可能会导致问题 . (请参阅有关此主题的许多帖子,例如:What is the best workaround for the WCF client using block issue?) .

这种行为已经改变了!不知何故,当服务抛出异常时,服务客户端会重新抛出该异常,但客户端不再进入故障状态 .

两个问题:

  • 服务客户端在哪些条件下进入故障状态?

  • 从什么时候(什么框架版本或补丁)这个行为被改变了?