2013-09-23 39 views
1

我正在使用Windows Phone 8应用程序中的WCF Web服务,并且我(会因)喜欢处理手机没有互联网的情况。异步连接到WCF服务时处理CommunicationException

问题是,我正在异步调用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); 

回答

2

GetTestBusesCompletedEventArgs类的一部分应该包括Error属性。测试以查看属性是否为空,如果是,则按照您认为合适的方式处理异常。

+1

我尝试过,但它不起作用,因为异常发生在事件处理程序被调用之前。它发生在生成的文件“Reference.cs”中 – Jolle

+0

您会注意到它在IDE中出现绿色突出显示。这意味着您可以继续执行而不受影响,因为这是第一次机会事件。只需按F5并让程序继续正常执行。它将移动到您的处理程序,并填充“Error”属性。 – lsuarez