我有一个页面正在我的一个ASPX页面中对WebMethod进行jQuery Ajax调用。在某些情况下,我的WebMethod会抛出一个带有错误消息的异常。此错误消息对于UI非常重要,因为它告诉用户要说什么,因此他可以修复他的表单。
这在开发环境中运行良好。但是,在我的生产Web.Config中,我需要将customErrors设置为“On”,因此我不会显示重要信息。此外,我的IIS也会覆盖HTTP 500错误。
我尝试了ASMX的WebServices,它运行得很好。 IIS没有覆盖我的HTTP 500,并且customErrors没有隐藏WebService发送的消息。但目前无法将我所有的ASPX WebMethod迁移到ASMX文件。
我正在寻找指南。我的UI如何在保持Web.Config安全生产的同时获取WebMethod的错误?
答案 0 :(得分:1)
您应永远向用户显示黄色死亡屏幕。
相反,请考虑实现一个Response对象,包含一个布尔成功,一个ErrorMessage(字符串)以及实际结果数据(如果需要)。
然后,您可以使用JavaScript回调并检查调用是否成功。如果没有,只需提醒()错误信息。