WCF异步调用方法是否可能失败?

时间:2013-01-04 23:28:03

标签: c# wcf windows-phone-7 windows-phone-8

据我所知,当有特定于应用程序的错误处理时,使用它们并不好。

我正在调用来自WCF服务的方法,如下所示:

Service.Login += new EventHandler<LoginCompletedEventArgs>(LoginCompleted);
Service.LoginAsync(username, password);

在生成的'LoginCompleted'方法中,我可以使用以下内容来检查错误:

if (e.Error == null)

由于错误可以在方法完成后进行分析,是否仍然需要在“LoginAsync”调用周围放置try-catch块?换句话说,“LoginAsync”调用可以任何出错?

2 个答案:

答案 0 :(得分:1)

不太确定会发生什么,但有些情况会跳到我的脑海:池中的线程,内存不足......我认为是必要的。

答案 1 :(得分:1)

是。呼叫本身可能出现问题...例如,假设您的网络出现故障,您实际上无法完成呼叫。 try / catch对这些情况很有用。处理异步操作期间发生的异常正在完成您应该如何操作。

基本上,如果要在进行调用时处理任何异常,请使用try / catch。如果要在异步操作期间处理任何异常,请像以前一样使用e.Error