我在我的 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/