【问题标题】:Get more error detail info from WCF in Silverlight client从 Silverlight 客户端中的 WCF 获取更多错误详细信息
【发布时间】:2010-08-05 21:30:01
【问题描述】:

在 Silverlight 客户端我收到错误,但它总是看起来像:

操作过程中发生异常,导致结果无效。 检查 InnerException 是否有异常 详情。

在 System.ComponentModel.AsyncCompletedEventArgs.RaiseExceptionIfNecessary() 在 秘书AppNav.ClientService.GetChildAndOpiekunByFirstnameLastnameCompletedEventArgs.get_Result() 在 秘书AppNav.Views.FindChild.Client_GetChildAndOpiekunByFirstnameLastnameCompleted(对象 发件人, GetChildAndOpiekunByFirstnameLastnameCompletedEventArgs 吃 秘书AppNav.ClientService.Service1Client.OnGetChildAndOpiekunByFirstnameLastnameCompleted(对象 州)

在客户端文件中,我总是使用 try catch 来捕获错误,但它从不调用:

        void Client_GetChildAndOpiekunByFirstnameLastnameCompleted(object sender, GetChildAndOpiekunByFirstnameLastnameCompletedEventArgs e)
    {
        try
        {
            this.dataForm1.ItemsSource = e.Result.Collection;
        }
        catch (FaultException ex)
        {
            System.Windows.Browser.HtmlPage.Window.Alert(ex.Reason.ToString() +  ex.Code.ToString() );
            throw new FaultException(ex.Reason, ex.Code, "Klikanie");
        }
    }

我应该把这个捕获放在我的服务文件中来捕获 SOAP 错误吗?没有更多信息,我总是在我的代码中寻找错误,就像在黑暗中一样......:/

【问题讨论】:

    标签: c# wcf error-handling


    【解决方案1】:

    如果您正在调试您的应用程序并且只想捕获每个异常,您可以这样做:

    catch (Exception ex)
    {
        System.Windows.Browser.HtmlPage.Window.Alert(ex.Reason.ToString())
    }
    

    您可能希望在此之后重新抛出异常或检查它是什么类型的异常,但这可能是在调试模式下捕获异常的有用方法。

    您也可以在捕获一般异常的代码行上放置一个断点。这将允许您在抛出异常时“观察”异常,然后查看其嵌套的内部异常。

    【讨论】:

      猜你喜欢
      • 2011-01-31
      • 2010-11-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-24
      相关资源
      最近更新 更多