asp.net 使用HttpModule记录全局错误
以前使用Global.asax记录全局的错误日志觉得挺好用,但是如果一个解决方案下有N多个项目,每个下边都需要加一个并且代码都还是重复的,终于有一天无法再忍受这种模式,考虑到HttpModule,直接上代码
CS代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web; namespace HttpModuleTest
{
/// <summary>
///
/// </summary>
public class CommonHttpModule : IHttpModule
{
public void Init(HttpApplication context)
{
context.Error += Request_Error;
} /// <summary>
/// 全局错误日志
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void Request_Error(object sender, EventArgs e)
{
if (string.Equals(ConfigurationUtil.GetAppSettingValue("Debug"), "true", StringComparison.OrdinalIgnoreCase))
return; var application = sender as HttpApplication;
if (Equals(application, null))
return;
string requestUrl = application.Request.Url.AbsolutePath;
Exception appError = HttpContext.Current.Server.GetLastError();
//todo: 对错误日志进行记录 文本记录OR入库 自己选择
application.Server.ClearError();
//为了仿止URL跳转循环,一般不会出现,加上更保险
if (!string.Equals(requestUrl, "/Error.aspx", StringComparison.OrdinalIgnoreCase))
//跳转的公共错误页
application.Response.Redirect("/Error.aspx");
} public void Dispose()
{
}
}
}
Web.config配置如下:
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<add name="CommonHttpModule" type="HttpModuleTest.CommonHttpModule"/>
</modules>
</system.webServer>
asp.net 使用HttpModule记录全局错误的更多相关文章
- asp.net mvc 3 配置全局错误处理 Web.config中设置CustomError
摘自: http://www.myexception.cn/web/1130191.html asp.net mvc 配置全局异常处理 Web.config中设置CustomError Web.con ...
- 用VSCode开发一个asp.net core 2.0+angular 5项目(4): Angular5全局错误处理
第一部分: http://www.cnblogs.com/cgzl/p/8478993.html 第二部分: http://www.cnblogs.com/cgzl/p/8481825.html 第三 ...
- [翻译]ASP.NET Web API 2 中的全局错误处理
目录 已存在的选项 解决方案预览 设计原则 什么时候去用 方案详情 示例 附录: 基类详情 原文链接 Global Error Handling in ASP.NET Web API 2 由于翻译水平 ...
- 由于 ASP.NET 进程标识对全局程序集缓存没有读权限,因此未能执行请求。错误: 0x80131902
由于 ASP.NET 进程标识对全局程序集缓存没有读权限,因此未能执行请求.错误: 0x80131902 分类: c#2013-06-17 10:22 89人阅读 评论(0) 收藏 举报 ASP.NE ...
- C#面试题(转载) SQL Server 数据库基础笔记分享(下) SQL Server 数据库基础笔记分享(上) Asp.Net MVC4中的全局过滤器 C#语法——泛型的多种应用
C#面试题(转载) 原文地址:100道C#面试题(.net开发人员必备) https://blog.csdn.net/u013519551/article/details/51220841 1. . ...
- Asp.Net SignalR 使用记录 技术回炉重造-总纲 动态类型dynamic转换为特定类型T的方案 通过对象方法获取委托_C#反射获取委托_ .net core入门-跨域访问配置
Asp.Net SignalR 使用记录 工作上遇到一个推送消息的功能的实现.本着面向百度编程的思想.网上百度了一大堆.主要的实现方式是原生的WebSocket,和SignalR,再次写一个关于A ...
- ASP.NET Core 入门教程 10、ASP.NET Core 日志记录(NLog)入门
一.前言 1.本教程主要内容 ASP.NET Core + 内置日志组件记录控制台日志 ASP.NET Core + NLog 按天记录本地日志 ASP.NET Core + NLog 将日志按自定义 ...
- 记录MySql错误消息
本章列出了当你用任何主机语言调用MySQL时可能出现的错误.首先列出了服务器错误消息.其次列出了客户端程序消息. B.. 服务器错误代码和消息 服务器错误信息来自下述源文件: · 错误消息信息列在sh ...
- Java SpringBoot全局错误处理类,返回标准结果
package demo.utils; import com.alibaba.fastjson.JSON; import demo.controller.ProductController; impo ...
随机推荐
- IOS中http请求使用cookie
http://rainbird.blog.51cto.com/211214/805173 IOS中http请求使用cookie 2012-03-13 23:04:30 标签:http 记录 龙的传人 ...
- NSTimer你真的会用了吗
http://www.cnblogs.com/smileEvday/archive/2012/12/21/NSTimer.html
- 解决Mac OS Adobe Flash Builder 4.7 java heap space 问题【转】
1. 在Finder中打开Adobe Flash Builder 4.7的安装目录 2. 在Adobe Flash Builder 4.7.app上点击右键“Show Package contents ...
- [AS3]as3用ByteArray来对SWF文件编码加密实例参考
[AS3]as3用ByteArray来对SWF文件编码加密实例参考,简单来说,就是将 swf 以 binary 的方式读入,并对 ByteArray 做些改变,再重新存成 swf 档.这个作业当然也可 ...
- Android中 Http请求
HttpClient public class MainActivity extends Activity { private Button button; @Override protected v ...
- HasMap
您还未登录 ! 登录 注册 论坛首页 → Java企业应用论坛 → 深入理解HashMap 全部 Hibernate Spring Struts iBATIS 企业应用 Lucene SOA Java ...
- Mongodb常见错误
1. log目录没有创建,而在logpath中有设定 2. SECONDARY默认不可以读取数据,需要db.getMongo().setSlaveOk(); 3. SECONDARY不可以写数据 4. ...
- C++学习之重载运算符1
C++除可重载函数之后,还允许定义已有的运算符,这样通过运算符重载可像处理数据使用它们. 先来个代码 #include<iostream> using namespace std; cla ...
- python基础:列表生成式和生成器
列表生成式(List Comprehension) 列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式. 举个例子,要生成 list ...
- 安装nginx 做反向代理
nginx反向代理配置实例(前nginx+后apache)Nginx ("engine x") 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP ...