【问题标题】:Handling a CommunicationException when connecting to WCF service asynchronously异步连接到 WCF 服务时处理 CommunicationException
【发布时间】:2013-09-24 01:06:03
【问题描述】:

我正在使用我的 Windows Phone 8 应用程序中的 WCF Web 服务,并且(当然)我想处理手机没有互联网的情况。

问题是,我正在异步调用 WCF Web 服务函数,所以我不能只是尝试/捕获 CommunicationException?怎么办?

这是我的一些代码:

BusWebService.BusServiceClient ServiceClient;

ServiceClient = new BusWebService.BusServiceClient();
ServiceClient.GetTestBusesCompleted +=
                new EventHandler<BusWebService.GetTestBusesCompletedEventArgs>(GetTestBusesCompleted);

//Try or Catch here?????
ServiceClient.GetTestBusesAsync(0, 0, TestNumber);

【问题讨论】:

    标签: c# wcf web-services soap windows-phone-8


    【解决方案1】:

    当通信出现问题时,GetTestBusesCompletedEventArgs 类的一部分应包含Error 属性。测试该属性是否不为空,如果是,则按您认为合适的方式处理异常。

    【讨论】:

    • 我试过了,但它不起作用,因为异常发生在事件处理程序被调用之前。它发生在生成的文件“Reference.cs”中
    • 您会注意到它在您的 IDE 中以绿色突出显示。这意味着您可以继续执行而不会受到影响,因为这是第一次机会事件。只需按F5,让程序继续正常执行。它将转移到您的处理程序并填充 Error 属性。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-16
    • 1970-01-01
    • 2010-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多