0

我有一个 WPF 应用程序,它将尝试从 Web 服务 (ASMX) 获取数据。我在网络服务上做了一个方法来查看网络服务是否可用。但是,我不能捕捉到我返回的异常。这是我在 Web 服务上调用测试方法的代码:

public bool TestConnection()
{
    try
    {
        return service.Test();
    }
    catch(Exception ex)
    {
        return false;
    }
}

service.Test() 方法会引发异常,因为那里没有监听 Web 服务(我更改了 url 以模拟真实场景)。它抛出的异常没有被我的 catch 语句捕获。我不知道为什么不。这是我得到的例外:

System.Windows.Markup.XamlParseException occurred
  Message='The invocation of the constructor on type 'GreenWebPlayerWPF.Window1' that matches the specified binding constraints threw an exception.' Line number '4' and line position '258'.
  Source=PresentationFramework
  LineNumber=4
  LinePosition=258
  StackTrace:
       at System.Windows.Markup.XamlReader.RewrapException(Exception e, IXamlLineInfo lineInfo, Uri baseUri)
  InnerException: 
       Message=Exception handled
       Source=Player
       StackTrace:
            at GreenWebPlayerWPF.Services.GWDSServiceProxy.Test() in C:\Subversion\GreenWeb 2.5\Version 2.5\GreenWebPlayerWPF\Services\Proxy\GWDSServiceProxy.cs:line 214
            at GreenWebPlayerWPF.HeartBeatService.Start() in C:\Subversion\GreenWeb 2.5\Version 2.5\GreenWebPlayerWPF\Services\HeartBeatService.cs:line 21
            at GreenWebPlayerWPF.Window1..ctor() in C:\Subversion\GreenWeb 2.5\Version 2.5\GreenWebPlayerWPF\Window1.xaml.cs:line 127
       InnerException: 
            Message=Service unavailable:Unable to connect to the remote server
            Source=Player
            StackTrace:
                 at GreenWebPlayerWPF.Services.GWDSServiceProxy.Test() in C:\Subversion\GreenWeb 2.5\Version 2.5\GreenWebPlayerWPF\Services\Proxy\GWDSServiceProxy.cs:line 206
            InnerException: 

该异常是一个xaml异常,我似乎我的异常正在冒泡,在我有机会抓住它之前......

有谁知道发生了什么?

4

0 回答 0