WCF异步调用方法有可能失败吗?

本文关键字:失败 有可能 方法 异步 调用 WCF | 更新日期: 2023-09-27 17:50:52

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

我正在从WCF服务调用一个方法,像这样:

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

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

if (e.Error == null)

一旦方法完成,可以分析错误,是否仍然有必要在'LoginAsync'调用周围放置try-catch块?换句话说,任何与'LoginAsync'调用出错吗?

WCF异步调用方法有可能失败吗?

是。呼叫本身可能会出错……例如,假设您的网络出现故障,您实际上无法完成呼叫。try/catch对这些情况很有用。处理异步操作期间发生的异常的方式与您应该做的完全一致。

基本上,如果你想处理调用中的任何异常,使用try/catch。如果您想在异步操作期间处理任何异常,请像以前一样使用e.Error

不太确定会发生什么,但有些场景跳到我的头:池中的线程,内存不足……我认为是不必要的