global.asax
来自「C#开发者可使用的经典案例集,源自于ASP.NET经典范例50讲」· ASAX 代码 · 共 61 行
ASAX
61 行
<%@ Import Namespace="System.Diagnostics" %>
<%@ Import Namespace="System.Configuration" %>
<%@ Import Namespace="System.Web.Mail" %>
<script language="C#" runat="server">
public void Application_BeginRequest(object sender, EventArgs arg)
{
string logName = ConfigurationSettings.AppSettings["EventLogName"];
string logSource = ConfigurationSettings.AppSettings["EventLogSource"];
string logMessage = "";
logMessage += "Remote Client Name: " + Request.UserHostName + "\n";
logMessage += "Remote Client IP: " + Request.UserHostAddress + "\n";
logMessage += "Request: " + Request.FilePath;
if(!(EventLog.SourceExists(logSource)))
{
EventLog.CreateEventSource(logSource, logName);
}
//Insert request log
EventLog log = new EventLog();
log.Source = logSource;
log.WriteEntry(logMessage, EventLogEntryType.Information);
}
public void Application_Error(object sender, EventArgs arg)
{
string logName = ConfigurationSettings.AppSettings["EventLogName"];
string logSource = ConfigurationSettings.AppSettings["EventLogSource"];
Exception e = Server.GetLastError();
string logMessage = e.ToString();
if(!(EventLog.SourceExists(logSource)))
{
EventLog.CreateEventSource(logSource, logName);
}
//Insert request log
EventLog log = new EventLog();
log.Source = logSource;
log.WriteEntry(logMessage, EventLogEntryType.Error);
// Send Mail to Administrator of the Web
MailMessage mail = new MailMessage();
mail.From = ConfigurationSettings.AppSettings["ApplicationName"];
mail.To = ConfigurationSettings.AppSettings["AdminEmail"];
mail.Subject = "Application Internal Error.";
mail.Body = "Application Internal Error.";
mail.Body += "Remote Client Name: " + Request.UserHostName + "\n";
mail.Body += "Remote Client IP: " + Request.UserHostAddress + "\n";
mail.Body += "Request: " + Request.FilePath;
mail.Body += "Exception:" + logMessage;
SmtpMail.SmtpServer = "localhost";
SmtpMail.Send(mail);
}
</script>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?