gpt4 book ai didi

c# - Windows Phone 7,silverlight - 如何在调用异步 Web 服务时捕获 EndpointNotFoundException?

转载 作者:太空狗 更新时间:2023-10-29 21:30:43 24 4
gpt4 key购买 nike

我正在从 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。

知道我可以在哪里处理这个吗?

如果我遗漏了什么,但我已经搜索但没有找到解决方案,我深表歉意。

最佳答案

您应该将捕获物放入您的 ProxyGetSuppliersCompleted 方法中。

尝试访问结果将引发您预期的错误。

或者,在 ProxyGetSuppliersCompleted 中,您可以测试将包含异常的 EventArgs 的 Error 属性。

关于c# - Windows Phone 7,silverlight - 如何在调用异步 Web 服务时捕获 EndpointNotFoundException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4285586/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com