`
bulote
  • 浏览: 1353914 次
文章分类
社区版块
存档分类
最新评论

Application_Error应用

 
阅读更多
void Application_Error(object sender, EventArgs e)
{
// 在出现未处理的错误时运行的代码
Exception objErr = Server.GetLastError().GetBaseException();
string error = string.Empty;
string errortime = string.Empty;
string erroraddr = string.Empty;
string errorinfo = string.Empty;
string errorsource = string.Empty;
string errortrace = string.Empty;
error += "发生时间:" + System.DateTime.Now.ToString() + "<br>";
errortime = "发生时间:" + System.DateTime.Now.ToString();
error += "发生异常页: " + Request.Url.ToString() + "<br>";
erroraddr = "发生异常页: " + Request.Url.ToString();
error += "异常信息: " + objErr.Message + "<br>";
errorinfo = "异常信息: " + objErr.Message;
errorsource = "错误源:" + objErr.Source;
errortrace = "堆栈信息:" + objErr.StackTrace;
error += "--------------------------------------<br>";
Server.ClearError();
Application["error"] = error;
//独占方式,因为文件只能由一个进程写入.
System.IO.StreamWriter writer=null;
try
{
lock (this)
{
// 写入日志
string year = DateTime.Now.Year.ToString();
string month = DateTime.Now.Month.ToString();
string path = string.Empty;
string filename = DateTime.Now.Day.ToString() + ".txt";
path = Server.MapPath("~/Error/") + year + "/" + month;
//如果目录不存在则创建
if (!System.IO.Directory.Exists(path))
{
System.IO.Directory.CreateDirectory(path);
}
System.IO.FileInfo file = new System.IO.FileInfo(path + "/"+filename);

//文件不存在就创建,true表示追加
writer = new System.IO.StreamWriter(file.FullName, true)
writer.WriteLine("用户IP:" + Request.UserHostAddress);
writer.WriteLine(errortime);
writer.WriteLine(erroraddr);
writer.WriteLine(errorinfo);
writer.WriteLine(errorsource);
writer.WriteLine(errortrace);
}
}
finally
{
if (writer != null)
writer.Close();

}
Response.Redirect("~/Error/ErrorPage.aspx");

}



ErrorPage.aspx
<head runat="server">
<title>出错信息</title>
<link href="css/SITE.CSS" type="text/css" rel="stylesheet" />
</head>
<body>
<form id="form1" runat="server">
<asp:Label ID="Label1" runat="server" Width="568px"></asp:Label>

</form>
</body>

ErrorPage.aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
this.Label1.Text = Application["Error"].ToString();
}

当然,错误页你可以不显示具体的错误信息,而是给用户一个友好的提示页面。


原帖地址:http://blog.csdn.net/w809026418/archive/2009/08/19/4462237.aspx
分享到:
评论

相关推荐

    Aap.net过滤恶意参数提交(Application_BeginRequest事件

    ### ASP.NET中的Aap...总之,在ASP.NET应用中使用`Application_BeginRequest`事件来过滤恶意参数提交是一种非常实用的安全措施。通过这种方式可以在请求被进一步处理之前拦截潜在的威胁,从而提高应用的整体安全性。

    asp.net错误处理Application_Error事件示例

    `Application_Error`事件是更高级别的错误处理机制,因为它在整个应用程序范围内触发,而不仅仅是针对单个页面。 首先,让我们深入了解`Application_Error`事件。这个事件在Global.asax文件中定义,当在应用程序的...

    Global.asax的Application_Error实现错误记录/错误日志的代码

    Global.asax是***应用程序的一个特殊...总之,通过Global.asax中的Application_Error方法实现错误记录是一种非常实用的技术手段,可以帮助开发者及时发现和处理应用程序中的错误,提高应用程序的健壮性和用户满意度。

    asp.net错误捕获(错误处理)page_error事件使用方法

    `Application_Error` 事件在全局.asax 文件中定义,可以捕获整个应用程序范围内的错误。这种方式适用于那些需要在整个应用程序中统一处理错误的情况。另外,通过配置 Web.config 文件,可以设置不同错误类型的全局...

    Global.asax_作用

    3. Application_Error:所有没有处理的错误都会导致这个方法的执行。 4. Application_Start:在程序初始化的时候执行。在 Web 应用程序的生命周期里就执行一次,这里只能放一些公用的信息,比如 ...

    SIM900A_IP_Application_Note_V1.01

    根据提供的文档信息“SIM900A_IP_Application_Note_V1.01”,本文将详细介绍该文档中的关键知识点,包括SIM900A模块的基本应用、配置方法以及相关的网络协议应用,如HTTP与FTP。 ### SIM900A模块概述 SIM900A是一...

    MYSQL_application_in_PHP5.rar_MYSQL_in_php5

    MySQL是世界上最受欢迎的关系型数据库管理系统之一,而PHP作为开源的服务器端脚本语言,与MySQL的结合使用在Web开发中非常普遍。...通过理解并熟练运用这些技术,你可以构建高效、安全的数据库驱动的应用程序。

    Modbus_Application_Protocol_V1_1b3.rar_modbus_suddenmwe

    6. **突然MWE(Master Without Error)**: 这个标签可能是指在使用Modbus协议时,主设备无错误地完成通信的情况。通常,如果主设备在没有收到预期响应时仍继续发送请求,可能会导致系统混乱或数据不一致。确保正确...

    ASP.NET的错误处理机制

    - `Application_Error`事件:用于处理整个应用程序级别的错误。 3. **局部页面错误处理**: - 使用`ErrorPage`属性指定错误页面。 - `Page_Error`事件:用于处理特定页面级别的错误。 #### 四、Web.Config配置...

    server application error

    "Server Application Error" 是在使用IIS(Internet Information Services)时可能会遇到的一个常见问题,它通常出现在尝试访问ASP(Active Server Pages)应用程序时。这个问题可能是由于多种原因导致的,包括但不...

    SAP_Application_Interface_Framework_30_EN.pdf

    SAP Application Interface Framework (AIF) 是一个集成平台,它为在SAP系统与其他外部系统之间建立和管理接口提供了统一的框架。这个框架简化了数据交换的过程,确保了业务流程的自动化和高效运行。以下是对SAP AIF...

    ASP.NET中Global和URLReWrite用法

    本文实例讲述了ASP.NET中Global和URLReWrite用法。分享给大家供大家参考。具体如下: Global.asax: 有时候叫做 ASP.NET 应用程序文件,提供了一种在一个中心位置响应应用程序级...② Application_Error :程序中发生未

    IIS出现server application error,最终解决办法

    “IIS出现server application error”通常意味着在处理请求时,IIS服务器在加载应用程序过程中遇到了无法处理的错误。这种错误可能是由多种因素引起的,包括但不限于配置错误、权限问题、应用程序代码错误或系统资源...

    Global.asax 文件是什么

    `Application_Error` 事件用于捕获未处理的异常,确保即使在发生错误时也能提供合适的反馈,提高了用户体验。 会话相关的事件,如 `Session_Start` 和 `Session_End`,则允许开发者在用户会话开始和结束时执行特定...

    IIS排错 Server Application Error

    IIS(Internet Information Services)作为微软提供的Web服务器解决方案,其稳定性和性能得到了广泛认可,但在实际应用中,偶尔会遇到加载应用程序时的错误,即“Server Application Error”。这一错误通常意味着...

    iis错误Server Application Error的解决方法

    标题中的"IIS错误Server Application Error"是指在使用Internet Information Services(IIS)作为Web服务器时,应用程序出现错误导致的一种常见问题。这个问题可能由于多种原因,包括但不限于:代码错误、配置问题、...

    iis错误Server Application Error的解决方法(工具)

    标题中的"IIS错误Server Application Error"是Web服务器管理员在运行基于Internet Information Services (IIS)的应用程序时可能会遇到的一个常见问题。这个问题通常表示应用程序在尝试执行操作时遇到了一个未捕获的...

Global site tag (gtag.js) - Google Analytics