asp.net页面显示友好错误~~~
来源:互联网 发布:windows iis限制 编辑:程序博客网 时间:2024/05/16 11:04
当我们运行asp.net面时,有时候会出错,我们不想让程序崩溃,把这些错误在页面上显示出来。办法如下:
在global.asax中的
void Application_Error(object sender, EventArgs e)
{
//在出现未处理的错误时运行的代码
Exception ex = Server.GetLastError().GetBaseException();
if (ex != null)
{
LogTools.Instance.Log(ex);
string error = "出错页面:" + Request.Url.ToString() + "<br />";
error += "异常信息:" + ex.Message + "<br />";
error += "Source: " + ex.Source.ToString() + "<br />";
error += "StackTrace: " + ex.StackTrace.ToString() + "<br />";
Server.ClearError();
Application["Error"] = error;
System.Web.HttpContext.Current.Response.Redirect(HttpContext.Current.Request.ApplicationPath + "/ApplicationError.aspx");
}
}
添加这些代码。
其中的LogTools类如下:
using System;
using System.IO;
using System.Timers;
using NLog;
using NLog.Config;
using NLog.Targets;
using System.Collections;
public class LogTools
{
private Logger logger;
public LogTools()
{
LogDate = DateTime.Now;
SimpleConfigurator.ConfigureForTargetLogging(GetFileTarget());
logger = LogManager.GetCurrentClassLogger();
}
private DateTime logDate;
public DateTime LogDate
{
get { return logDate; }
set { logDate = value; }
}
//单例对象
private static LogTools log;
public static LogTools Instance
{
get
{
if (log == null)
{
log = new LogTools();
}
else
{
if (log.logDate.Date != DateTime.Now.Date)
{
log = new LogTools();
}
}
return log;
}
}
//记录异常信息
public void Log(Exception ex)
{
try
{
logger.Info(ex.Message + "/r /n" + ex.StackTrace);
}
catch
{
}
}
//记录字符串信息
public void Log(string message)
{
try
{
logger.Info(message);
}
catch
{
}
}
//获取一个Log文件
private string GetLogFile()
{
string fileName = "Log_" + DateTime.Now.ToString("yyyy-MM-dd") + ".txt";
return Path.Combine(AppDomain.CurrentDomain.BaseDirectory + "Error_Logs", fileName);
}
//设置Log输出的目标信息
private FileTarget GetFileTarget()
{
FileTarget ft = new FileTarget();
ft.FileName = GetLogFile();
ft.Layout = "${longdate} ${message}";
ft.KeepFileOpen = false;
ft.Encoding = "iso-8859-2";
ft.OpenFileCacheTimeout = 10;
ft.OpenFileCacheSize = 1;
return ft;
}
}
- asp.net页面显示友好错误~~~
- Tomcat自定义友好错误提示页面无法显示
- ASP.NET Core中显示自定义错误页面-增强版
- ASP.NET页面显示日期
- asp.net页面 图片显示。
- ASP.NET自定义错误页面
- ASP.NET自定义错误页面
- ASP.NET自定义错误页面
- ASP.NET自定义错误页面
- asp.net自定义错误页面
- asp.net页面错误处理
- ASP.NET自定义错误页面
- ASP.NET自定义错误页面
- ASP.NET自定义错误页面
- ASP.NET自定义错误页面
- asp.net自定义错误页面
- ASP.NET页面错误处理
- ASP.NET页面错误处理
- symbian前后台切换
- class和struct做类型定义时的区别
- 查看glibc版本
- Java定时执行任务
- USACO 3.4.3
- asp.net页面显示友好错误~~~
- 用ejb2.0做的HelloWord!
- 利用Javabean访问MSSQL数据库
- (转载)于Linux静态库和动态库的分析
- Ajax扩展控件AutoCompleteExtender 连接sql数据库 实现仿Google自动生成功能
- ASE15.0中利用代理表实现统计用户表存储空间大小的功能
- 非典型2D游戏引擎 Orx 源码阅读笔记 完结篇(7) 渲染流程
- SQLHelper.cs文件代码
- 20岁跟对人,30岁做对事情(二)