【发布时间】:2011-06-04 13:17:40
【问题描述】:
代理在超时异常后没有出现故障,我仍然可以使用它。
是否建议使用该代理或者我应该中止它并创建一个新的?
【问题讨论】:
-
只要通道没有故障(因为服务端出现异常),您应该可以继续使用它。
标签: .net wcf proxy timeoutexception
代理在超时异常后没有出现故障,我仍然可以使用它。
是否建议使用该代理或者我应该中止它并创建一个新的?
【问题讨论】:
标签: .net wcf proxy timeoutexception
我会说它。超时的一个特殊问题是您不知道另一端发生了什么,因为您的客户端放弃了监听。如果你有一个有状态的连接,那么现在所有的赌注都没有了。
如果你是无国籍的,你可能会侥幸逃脱。无论哪种情况,如果您在执行影响数据的操作时超时,您可能需要验证当前状态。如果您只是查询数据,事情会更简单。
【讨论】:
我们为什么要重用代理实例?
创建代理并不是一项昂贵的操作。 在您向服务发出请求之前,什么都不会真正完成。
除了重用它意味着每次在发出另一个请求之前检查它的故障状态。
如果您有登录/注销架构,您还可以缓存登录后返回的令牌并将其用于后续请求。
【讨论】:
ChannelFactory。同样在 .NET 3.0 的情况下,它总是很昂贵。