博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ASP.net-空白页的问题
阅读量:4494 次
发布时间:2019-06-08

本文共 1574 字,大约阅读时间需要 5 分钟。

protected
 
void 
Application_Error(
object 
sender, 
EventArgs 
e)
        {
            
ILog 
log = 
LogManager 
.GetLogger(
typeof
( 
MvcApplication
));
            
Exception 
objErr = Server.GetLastError().GetBaseException();
            
if 
(objErr.ToString().IndexOf(
"favicon.ico" 
)==-1)
            log.Error(objErr);
            
Server.ClearError();
        }
 
本示例在应用程序统一记录错误日志, 可从事件查看器访问应用程序日志。
但在记录
错误 之后, “ Server.ClearError(); ” 在这种情况下该页就为 
空白页面
应该直接跳转, 重定向到另一个更用户友好的
错误 页或者根据需要执行一些其他操作。
 

如何使用 Web.config 文件

如果您不调用 Server.ClearError 或者捕获 Page_Error 或 Application_Error 事件中的错误,则将根据 Web.config 文件的 <customErrors> 部分中的设置处理错误。在 <customErrors> 部分,可将重定向页指定为默认的错误页 (defaultRedirect) 或者根据引发的 HTTP 错误代码指定特定页。您可使用此方法自定义用户收到的错误信息。

如果发生在应用程序以前的任一级别都未捕获到的错误,则显示这个自定义页。本节演示如何修改 Global.asax 文件,以便从不调用 Server.ClearError。因此,错误在作为捕获错误的最后一点的 Web.config 文件中进行处理。 1. 从上一个示例中打开 Global.asax 文件。 

2. 将 Server.ClearError 行注释掉,以便确保错误出现在 Web.config 文件中。 
3. 将所作更改保存到 Global.asax 中。代码看起来应类似如下形式: 
using System.Diagnostics;

protected void Application_Error(object sender, EventArgs e)

{
Exception objErr = Server.GetLastError().GetBaseException();
string err = "Error Caught in Application_Error event/n" +
"Error in:" + Request.Url.ToString() +
"/nError Message:"+ objErr.Message.ToString() + 
"/nStack Trace:"+ objErr.StackTrace.ToString();
EventLog.WriteEntry("Sample_WebApp",err,EventLogEntryType.Error);
//Server.ClearError();
//additional actions...

}
 
将以下代码添加到 <customErrors> 部分,以便将用户重定向到自定义页: 
<customErrors defaultRedirect="errorStatus.htm" mode="On">
</customErrors>
备注:必须修改 defaultRedirect 属性中的文件路径,以便它引用相关的 Web 服务器和应用程序名称。 

转载于:https://www.cnblogs.com/dudu837/p/3447378.html

你可能感兴趣的文章
PAT乙级1021.个位数统计(15 分)
查看>>
强化学习Q-Learning算法详解
查看>>
Spring MVC
查看>>
winform treeview 复选框,父节点子节点联动Bug
查看>>
C#_委托类型以及Action/Fanc_2018Oct
查看>>
es数组去重的简写
查看>>
Training Logisches Denken
查看>>
谁分配谁释放
查看>>
正则表达式
查看>>
Java集合之LinkedHashSet源码分析
查看>>
David Silver强化学习Lecture1:强化学习简介
查看>>
开源项目
查看>>
mvc4 找到多个与名为“xx”的控制器匹配的类型
查看>>
unix系统内核优点
查看>>
协议(五)-从电报机到智能手机
查看>>
Solr学习
查看>>
HDU-4628 Pieces 搜索 | DP
查看>>
动态代理
查看>>
C++ 错误积累
查看>>
java基础基础总结----- 构造方法,可变参数列表
查看>>