应用程序关闭与服务器的连接丢失

时间:2010-02-23 12:35:56

标签: wpf wcf

问候, 我正在开发WPF中的一些应用程序。客户端是用WPF编写的,WCF中的服务。有一种情况,客户端失去与服务器的连接(因为互联网问题)。然后他有以下错误: “通信对象System.ServiceModel.Channels.ServiceChannel不能用于通信,因为它处于Faulted状态。” 和应用程序关闭。 显示此消息并且客户端在消息框上单击“确定”后,应用程序将关闭。我不希望它被关闭。我怎样才能做到这一点? 我正在使用ClickOnce部署,如果这将有所帮助,每次客户端运行它搜索新版本的应用程序。 我在创建频道时以下列方式处理异常

try
        {

            Response response = Channel.ProcessRequest(request);
            return response;
        }
        catch (Exception ex)
        {
                MessageBox.Show(ex.Message.ToString());
            return null;
        }
        finally
        {

        }

1 个答案:

答案 0 :(得分:1)

似乎你的一揽子异常处理程序正在做这个伎俩。您正在捕获错误并将其显示给用户。但是,您将返回null。在没有看到任何其他代码的情况下,我只能猜测调用者不喜欢获得空响应并且应用程序死亡,尽管我期望一个未处理的异常。但是上游你还可以有另一个try / catch块,它会默默地忽略这个异常。除非你提供更多细节,否则没有人可以告诉你。