首页 > 解决方案 > WebMethod 不返回异常数据

问题描述

对 WebForms 网站应用程序中的 WebMethod 进行 $.Ajax() POST 调用。调用工作正常,但 WebMethod 中发生异常时除外。他们没有被传下来。从 WebMethod 中,$.Ajax 调用返回一个带有 ExceptionType、Message 和 StackTrace 属性的 xdr.responseJson 对象。这是我希望找到异常信息的地方,但是,无论服务器上的异常是什么,ExceptionType 都会返回“”,消息始终是“处理请求时出错”。StackTrace 是“”。需要做什么才能用来自服务器的有意义的数据填充这些数据?

标签: asp.netexceptionasp.net-web-apiwebforms

解决方案


我最终通过更改 web.config 解决了这个问题:

<customErrors mode="Off" />

在该更改之后,Message、ExceptionType 和 Stack 跟踪被正确填充,而不是标准的“处理请求时出错”。当 mode=on 时,所有异常都会返回它,并且对调试或报告不是很有帮助。

希望这个设置更精细,所以我可以只为 WebMethods 关闭它。


推荐阅读