【发布时间】:2012-06-05 17:13:23
【问题描述】:
我想知道 WCF 服务的故障模式的行为。
假设托管服务的服务器宕机了,那么我用来连接服务的 CHANNEL 将处于故障模式?
以下是我的观察:
- 服务已启动并运行,所有服务调用均成功。
- 现在服务器已关闭,频道显示已打开,因此它会调用最终超时的服务,我会处置频道
- 对于下一次服务调用,它将创建新通道,因为我在上次调用中已将其处理。
问题:这是预期的场景还是通道应该显示它在第一次调用时处于故障状态。
请指导。
【问题讨论】:
我想知道 WCF 服务的故障模式的行为。
假设托管服务的服务器宕机了,那么我用来连接服务的 CHANNEL 将处于故障模式?
以下是我的观察:
问题:这是预期的场景还是通道应该显示它在第一次调用时处于故障状态。
请指导。
【问题讨论】:
根据 TCP 的设计,通常无法查看服务器或客户端是否失去连接。所以你必须打电话才能看到。 (不正常的方式是发送一个空的 TCP 包,但通常不被任何操作系统支持。)
如果你调用regualry一个特殊的nop(无操作)函数,你可以更快地看到它。
如果您的通话由于连接超时(如果对方离线,每次都会发生)而失败,那么您的频道就会出现故障。
【讨论】: