web-services - 从客户端上的 ASP.NET PageMethods 获取异常详细信息

标签 web-services exception asp.net-ajax asmx pagemethods

我有一个页面方法,我从我的 JavaScript 中调用它

Pagemethods.MyMethod(MyParameter, onsucess, onfailure);

在后面的代码中,我有这样的事情:
[WebMethod]
public static void MyMethod(Param)
{
   try{
     //DoSomething..
   }
   catch(exception ex)
   {
      //Log the exception and rethrow
      throw new exception(ex.innerexception);
   }
}

现在我面临的问题是:

每当我遇到异常时,
我从后面的代码中抛出异常

但是在 onfailure 方法中,我只收到一条通用消息说
“服务器方法 MyMethod 失败,错误如下:”

我似乎没有得到异常详细信息,只有那个通用异常,

我如何获取 JavaScript 的异常详细信息,以便根据 UI/JavaScript 端处理它。

我已经验证,这不是 web.config 中自定义错误设置的问题。

有人能告诉我这里发生了什么吗?

PS:我已经遍历了每一行代码,并且记录后的异常被重新抛出,并带有正确的异常详细信息,即消息。

最佳答案

据我了解,只要你有

<customErrors mode="off" />

在您的 web.config 中,该消息将返回给客户端。你确定你有这个设置?

要显示与错误相关的消息,您需要将函数的名称作为页面方法调用的第三个参数:此函数可以很简单:
function onfailure( result )
{
   alert( result.get_message() );
}

这就是我们所拥有的并且运行正常

关于web-services - 从客户端上的 ASP.NET PageMethods 获取异常详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/964521/

相关文章:

asp.net - 使用 Microsoft 客户端 AJAX 库从一个文本框跳转到另一个文本框的最佳方法是什么?

web-services - Node.js 参数未正确传递给路由器

java - 学习 Java Web 服务细节的资源?

c# - 实例化通过发出 GET 请求收到的值

java - 如何通过 Java Web 服务模拟 IMS 分段处理

rest - 自定义 Spring Boot 异常处理以防止在 Rest 响应中返回 Stacktraces

java - 为什么在方法中抛出一般异常是不好的?

java - Spring异常类型链中的路由器

javascript - 未找到元素 Firefox 控制台 :MVC

asp.net - 使用 jQuery 和更新面板获取 ASPNET 控件值