asp.net - WebMethod 不返回异常数据
问题描述
对 WebForms 网站应用程序中的 WebMethod 进行 $.Ajax() POST 调用。调用工作正常,但 WebMethod 中发生异常时除外。他们没有被传下来。从 WebMethod 中,$.Ajax 调用返回一个带有 ExceptionType、Message 和 StackTrace 属性的 xdr.responseJson 对象。这是我希望找到异常信息的地方,但是,无论服务器上的异常是什么,ExceptionType 都会返回“”,消息始终是“处理请求时出错”。StackTrace 是“”。需要做什么才能用来自服务器的有意义的数据填充这些数据?
解决方案
我最终通过更改 web.config 解决了这个问题:
<customErrors mode="Off" />
在该更改之后,Message、ExceptionType 和 Stack 跟踪被正确填充,而不是标准的“处理请求时出错”。当 mode=on 时,所有异常都会返回它,并且对调试或报告不是很有帮助。
希望这个设置更精细,所以我可以只为 WebMethods 关闭它。
推荐阅读
- outlook - 如何为非托管 EWS API 实施 Exchange Online OAuth2.0?
- python - 一些测试用例失败了。告诉我出了什么问题
- python - 打印矩阵时如何显示列号和行号?
- c++ - OpenGL 4,GL_ARRAY_BUFFER 没有正确发送法线数据
- pandas - 从 2 个字符串或变量 pandas 创建数据框名称
- c# - 从json文件中提取矩阵
- c# - 更好地理解代表,一些解释
- java - 如何创建包含选定属性的 Java 对象?
- regex - Ruby - 仅匹配和替换电子邮件中的特定字符
- android - 如何将两个不同的表合并到一个表中?