由于openTimeOut设置,应用程序崩溃或挂起

时间:2012-04-02 06:51:15

标签: c# wpf wcf

在我的应用程序中,我将openTimeOut设置为1分钟。现在,如果服务停止或服务器未运行,则会导致问题。

我需要根据服务的输出加载表单。我在加载表单内容时调用该服务。现在,如果服务器停止,它将挂起UI直到服务的openTimeOut。主要问题是,应用程序使用多个服务,对于某些其他服务,超时为35秒,如果超时,则重新启动应用程序,我的服务仍然处于openTimeOut模式,导致应用程序崩溃。

这个问题的最佳解决方案是什么。

我的问题是处理这种情况的最佳方法是什么 - 减少openTimeOut或在不同的线程上调用服务。

1 个答案:

答案 0 :(得分:1)

绝对在不同的线程上调用服务(或者,如果使用自动生成的服务代理,则可以切换方法的Async版本,这些版本相同)。 UI线程不应该依赖于长时间运行的操作或可能阻塞的操作。

悬挂应用程序时OpenTimeOut的值不会很大(因为这会停止发生),但您可能希望稍微降低它,因为1分钟可能太长,无法等待发现没有与服务的连接。