新闻动态
新闻动态
- Vue 3 响应式对象:ref 和 reactive 的使用和区别
- 京东211限时达是什么意思?
- PHP pathinfo() 函数
- Asp.net2.0页面的生命周期 (2)
- 网站制作的常见技巧解答
- MySQL 5.7详细下载安装配置教程
- DPI与PPI的区别
- 什么是元数据?
- blockquote标签 与 block标签
- SEO中要注意的十要十不要
联系我们
邮箱:
手机:15383239821
asp.net
使用Global.asax的Application_Error记录Exception信息
作者:
发布时间:2014-06-13
点击:
記錄網頁Exception訊息的方法有很多種..在此介紹三種儲存方式..
1.記錄在事件檢視器裡
2.記錄在文字檔裡
3.用Email寄出訊息
asp.net(c#)
Global.asax
<%@ Application Language="C#" %>
<script RunAt="server">
void Application_Start(object sender, EventArgs e)
{
// 應用程式啟動時執行的程式碼
}
void Application_End(object sender, EventArgs e)
{
// 應用程式關閉時執行的程式碼
}
void Application_Error(object sender, EventArgs e)
{
string Message = "";
Exception ex = Server.GetLastError();
Message = "發生錯誤的網頁:{0}錯誤訊息:{1}堆疊內容:{2}";
Message = String.Format(Message, Request.Path + Environment.NewLine,
ex.GetBaseException().Message + Environment.NewLine,
Environment.NewLine + ex.StackTrace);
//寫入事件撿視器,方法一
System.Diagnostics.EventLog.WriteEntry("WebAppError", Message,
System.Diagnostics.EventLogEntryType.Error);
//寫入文字檔,方法二
System.IO.File.AppendAllText(Server.MapPath(string.Format("Log\\{0}.txt",
DateTime.Now.Ticks.ToString())), Message);
//寄出Email,方法三
//此方法請參考System.Net.Mail.MailMessage
//清除Error
Server.ClearError();
Response.Write("系統錯誤,請聯絡系統管理員!!");
}
void Session_Start(object sender, EventArgs e)
{
// 啟動新工作階段時執行的程式碼
}
void Session_End(object sender, EventArgs e)
{
// 工作階段結束時執行的程式碼。
// 注意: 只有在 Web.config 檔將 sessionstate 模式設定為 InProc 時,
// 才會引發 Session_End 事件。如果將工作階段模式設定為 StateServer
// 或 SQLServer,就不會引發這個事件。
}
</script>
<script RunAt="server">
void Application_Start(object sender, EventArgs e)
{
// 應用程式啟動時執行的程式碼
}
void Application_End(object sender, EventArgs e)
{
// 應用程式關閉時執行的程式碼
}
void Application_Error(object sender, EventArgs e)
{
string Message = "";
Exception ex = Server.GetLastError();
Message = "發生錯誤的網頁:{0}錯誤訊息:{1}堆疊內容:{2}";
Message = String.Format(Message, Request.Path + Environment.NewLine,
ex.GetBaseException().Message + Environment.NewLine,
Environment.NewLine + ex.StackTrace);
//寫入事件撿視器,方法一
System.Diagnostics.EventLog.WriteEntry("WebAppError", Message,
System.Diagnostics.EventLogEntryType.Error);
//寫入文字檔,方法二
System.IO.File.AppendAllText(Server.MapPath(string.Format("Log\\{0}.txt",
DateTime.Now.Ticks.ToString())), Message);
//寄出Email,方法三
//此方法請參考System.Net.Mail.MailMessage
//清除Error
Server.ClearError();
Response.Write("系統錯誤,請聯絡系統管理員!!");
}
void Session_Start(object sender, EventArgs e)
{
// 啟動新工作階段時執行的程式碼
}
void Session_End(object sender, EventArgs e)
{
// 工作階段結束時執行的程式碼。
// 注意: 只有在 Web.config 檔將 sessionstate 模式設定為 InProc 時,
// 才會引發 Session_End 事件。如果將工作階段模式設定為 StateServer
// 或 SQLServer,就不會引發這個事件。
}
</script>
測試網頁,產生一個Null Exception
執行結果:
事件檢視器
- 上一篇:文本框(input)获取焦点时改变样式
- 下一篇:C#与JavaScript互相调用
新闻资讯
-
2013-05-27在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误
-
2013-10-28访问网站提示需要输入用户名密码
-
2010-07-20网页优化“URL循环pr”增加pr值理论
-
2010-09-15RadioButtonList绑定后的默认选项
-
2013-06-09.net中从数据库money类型中读出来的数据只显示两位小数
-
2012-07-02谈谈什么是锚文本及锚文本的作用
相关案例
