【发布时间】:2012-08-28 22:33:40
【问题描述】:
我正在从 Silverlight Windows phone 7 应用程序中调用 Web 服务,如果 Web 服务可用,该应用程序可以正常工作。如果 Web 服务不可用,则会捕获未处理的异常,但我自己似乎无法捕获它。我的尝试如下:
//Get list of providers from Webservice
RSAServiceClient proxy = new RSAServiceClient();
proxy.GetSuppliersCompleted += new System.EventHandler<GetSuppliersCompletedEventArgs>(ProxyGetSuppliersCompleted);
try
{
proxy.GetSuppliersAsync();
}
catch (EndpointNotFoundException)
{
//TODO: Handle webserice not being available
}
catch (Exception)
{
throw;
}
但这并没有捕捉到异常,显然 GetSuppliersCompleted 永远不会被调用,所以我无法捕捉到它。
然后我认为我可以通过检查连接状态 (proxy.State) 来检测它,但是尽管 Web 服务未运行,但仍会返回 CommunicationState.Opened。
有什么办法可以解决这个问题吗?
抱歉,如果我遗漏了某些内容,但我已经搜索并没有找到解决方案。
【问题讨论】:
标签: c# silverlight web-services windows-phone-7