自定义错误信息

项辉园
导读 大家好,小阳来为大家解答以上的问题。自定义错误信息这个很多人还不知道,现在让我们一起来看看吧!1、首先在项目上右键选择“添加”->“新

大家好,小阳来为大家解答以上的问题。自定义错误信息这个很多人还不知道,现在让我们一起来看看吧!

1、首先在项目上右键选择“添加”->“新建项”,如下图所示。

2、2、选择JSON文件,命名为AppSettings.json,然后点击“添加”。

3、3、在JSON文件中添加配置信息,如下图所示。

4、4、双击打开Startup.cs 文件,在 Startup 类中添加一个可读写的属性 Configuration。

5、5、修改 Startup 类,添加 Startup() 这个构造函数,加载 AppSettings.json 文件。

6、6、最后运行成功以后,在浏览器中显示的结果如下图所示,就完成了。

7、Web.config中用可以自定义默认的出错页面:(如果发生404错误:找不到页面)(如果发生403错误:系统验证失败) 报错模式(1)关闭模式:一旦发生错误,asp.net 把默认的报错页面显示给本地和远程用户。

8、(2)开启(on)模式:当报错模式属性被设为“开启”时,asp,net把用户自定义的出错页面,而不是其默认的报错页面显示给本地和远程用户。

9、(3)只有远程启动(RemoteOnly)模式 :asp.net的报错页面只能被本地用户看到远程用户的访问请求,将会显示自定义的出错页面。

10、标识节和global.aspx中的application_error事件有什么样的关系呢?首先:当系统发生错误时,首先是触发在Global.asax中的Application_Error事件,可以再Application_Error事件用Server.GetLastError得到异常,接着系统处理完该事件之后,然后才转向Web.config中指定的错误页面,这里有一点请注意,在转向出错页面之前,asp.net会调用Server.ClearError()来清除所有出错的异常,因此,在出错页面中,并不能用Server.GetLastError得到出错的原因。

11、为了实现统一的出错页面,并能显示其原因,可以考虑在global.assa内的Application_Error事件中将错误信息存储在Session对象或Cache对象中,然后在自定义错误页面将其取出显示就可以了。

12、也可以在Application_Error事件内直接调用如下代码protected void Application_Error(Object sender,EventArgs e){ if(Context!=null&&Context.IsCustomErrorEnabled){Server.Transfer("Error.aspx",false);}}Context.IsCustomErrorEnabled是用于判断应用程序是否使用了自定义出错页面,因为Server.Transfer方法会阻止Rsponse.End的内部调用,在服务器内部直接转向,这样在Error.aspx里就可以捕获页面异常了。

本文到此分享完毕,希望对大家有所帮助。

标签:

版权声明:本文由用户上传,如有侵权请联系删除!