asp.net - 隐藏 asp.net WebMethod 返回的异常的堆栈跟踪?

标签 asp.net web-services asmx

我在我的 aspx 页面中使用带有属性 [WebMethod] 的方法。我不使用任何 asp.net ajax,而是使用 jQuery 来调用这些方法并返回 JSON 中的对象。这一切都运行良好。

接下来,我在 webMethod 内添加了授权检查,如果当前用户无权访问该功能,我需要让调用 JavaScript 知道。

因此,我抛出一个 AccessViolationException 异常,然后可以通过 JavaScript 中的 OnError 回调函数对其进行解析。这也有效,但异常(exception)情况包括完整的 StackTrace,我不想将其提供给调用客户端。

当 WebMethod 返回业务对象时,我还可以使用哪些其他方法向客户端返回“访问被拒绝”?

我正在使用 ASP.Net 3.5SP1 和 jQuery 1.32

最佳答案

您还可以添加:

customErrors mode="On"/

在你的 web.config 中,这将删除堆栈跟踪并只留下异常消息

关于asp.net - 隐藏 asp.net WebMethod 返回的异常的堆栈跟踪?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/773546/

相关文章:

java - 调用动态 Web 服务时出现 nosuchelementException

c# - 普通 .NET Web 服务应用程序中 HTTP session 状态的替代方案

web-services - 在 CXF JAX-WS 单向方法调用中获取客户端 IP 地址的可靠方法

sql-server - 具有 Kerberos 委派的 SSAS 出现连接超时错误

c# - 调用 url 的 Webservice 方法

css - 响应式 Bootstrap 设计导致 div 通过添加 help-block 移动

asp.net - ASP.NET Web 表单的停靠窗口/面板?

c# - 如何在中继器内获取标签而不是在 itemdatabound 中

c# - 将图像 (.jpg) 字节数据从 .NET Web 服务发送到 iOS 设备,然后在 iOS 设备上将其编码为相应的文件类型 (.jpg)

c# - ThreadStatic 和 ASP.NET