.NET Remoting TcpChannel超时问题的解决方法

时间:2012-10-08 13:53:27

标签: c# .net timeout .net-remoting

由于我(以及互联网上的许多其他人)在使用.NET Remoting时无法配置客户端TcpChannel超时(请不要建议正确的修复,我已经尝试了所有内容,并且没有WCF建议请),我已经提出了一个似乎是一个体面的解决方法来创建我们可以配置的客户端超时。如果我通过一个单独的计时器线程提供每个Remoting调用,并且调用超时或抛出异常,那么我可以终止该线程并假设服务器已关闭。

但是,我是由另一位同事运行的,他坚持认为我可以通过这样做导致.NET的本地机器代码出现死锁。我已经读过像this post here那样在互联网上工作的其他类型技术的例子,所以我不确定是否真的需要担心这里的问题。如果线程在发送或接收内容时中止,我可以看到它可能是一个问题,但如果我们只是在等待响应,那就不行了。

1 个答案:

答案 0 :(得分:0)

由于Dan没有发表回答,只有评论,我把这个答案归功于他。似乎这种管理超时的方法很好,只要你采取预防措施来确保在超时的情况下线程执行不会继续。我还建议不要使用Thread.Abort,除非你知道自己在做什么。