IHttpModule
随便写一个类继承IHttpModule
实现IHttpModule中的两个方法
Init()
Dispose()
public void Init(HttpApplication context)
{
//throw new NotImplementedException();
//恰好在 ASP.NET 开始执行事件处理程序(例如,某页或某个 XML Web services)前发生。
context.PreRequestHandlerExecute += new EventHandler(Context_PreRequestHandlerExecute);
//在 ASP.NET 事件处理程序(例如,某页或某个 XML Web service)执行完毕时发生。
context.PostRequestHandlerExecute += new EventHandler(Context_PostRequestHandlerExecute); }
//在 ASP.NET 事件处理程序(例如,某页或某个 XML Web service)执行完毕时发生。
//页面加载完成后触发
private void Context_PostRequestHandlerExecute(object sender, EventArgs e)
{
//throw new NotImplementedException();
}
//恰好在 ASP.NET 开始执行事件处理程序(例如,某页或某个 XML Web services)前发生。
//页面加载前触发
private void Context_PreRequestHandlerExecute(object sender, EventArgs e)
{
//获取到当前请求上下文
HttpContext context = ((HttpApplication)sender).Context;
var request = context.Request;
//浏览器
string browser = request.Browser.Browser;
if (string.IsNullOrEmpty(browser))
{
browser = "/home/index";
}
//绝对路径
string url = request.Url.AbsolutePath;
string host = request.Url.Host; }
然后还需要到配置文件中配置一下
在<system.webServer>这个节点下
<modules runAllManagedModulesForAllRequests="true" >
<add name="HttpModule111" type="MVCWebCount.Common.HttpModule111" />
</modules>
或者
<modules runAllManagedModulesForAllRequests="true" >
<add name="HttpModule111" type="MVCWebCount.Common.HttpModule111,MVCWebCount" />
</modules>
name就是自己随便写的那个类
type是这个类所在的地址,后半截是他所在的程序集
IHttpModule的更多相关文章
- IHttpModule生命周期
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net ...
- asp.net实现IHttpModule接口注意事项
IHttpModule向实现类提供模块初始化和处置事件. IHttpModule包含兩個方法: public void Init(HttpApplication context);public voi ...
- 关于IHttpModule的相关知识总结
一.IHttpModule相关概述 using System; namespace System.Web { public interface IHttpModule { // 销毁不再被HttpMo ...
- .net学习之母版页执行顺序、jsonp跨域请求原理、IsPostBack原理、服务器端控件按钮Button点击时的过程、缓存、IHttpModule 过滤器
1.WebForm使用母版页后执行的顺序是先执行子页面中的Page_Load,再执行母版页中的Page_Load,请求是先生成母版页的控件树,然后将子页面生成的控件树填充到母版页中,最后输出 2.We ...
- IHttpModule在webconfig中的注册
在asp.net中,提供了两种方式用来解决获取由asp.net服务器创建和维护的HttpApplication对象,方便注册HttpApplication对象的事件处理.这两种方式为:IHtpModu ...
- 【IHttpHandler】IHttpModule实现URL重写
1.用自定义IHttpModule实现URL重写 一般来说,要显示一些动态数据总是采用带参数的方式,比如制作一个UserInfo.aspx的动态页面用于显示系统的UserInfo这个用户信息表的数据, ...
- 实现IHttpModule接口,给每个页面输出一段脚本
在App_Code文件中添加TGModule.cs using System; using System.Data; using System.Configuration; using System. ...
- 转 IHttpModule不起作用
在 Visual Studio 中,测试 IHttpModule(httpModules) 正常,但是放到服务器上去就不起作用了,这多半得多服务器 IIS 配置入手. 一.看“应用程序池”的“托管管道 ...
- 请求管道与IHttpModule接口
IHttpModule向实现类提供模块初始化和处置事件. IHttpModule包含兩個方法: public void Init(HttpApplication context);public vo ...
随机推荐
- HDU4609 3-idiots(母函数 + FFT)
题目 Source http://acm.hdu.edu.cn/showproblem.php?pid=4609 Description King OMeGa catched three men wh ...
- eclipse 和 android studio 打包签名apk问题
首先,我使用eclipse打包了一个签名apk 然后,我使用同一个签名文件在android studio 打包同一个项目 接下来,首先安装eclipse 打包的apk,然后安装android stud ...
- 每天一个linux命令---导出到文件
导出Linux下的部分日志到文件,使用‘>’符号 例如: [calendar@test190 logs]$ monitor.log|grep getCalendarView > share ...
- The name does not exist in the namespace error in XAML
方法1:In the solution property page, check the platform of the assembly that contains "UpdatingMe ...
- void和void*
void的含义 void即“无类型”,void *则为“无类型指针”,可以指向任何数据类型. void指针使用规范①void指针可以指向任意类型的数据,亦即可用任意数据类型的指针对void指针赋值.例 ...
- ACM Longest Repeated Sequence
Description You are given a sequence of integers, A = a1, a2, ... an. A consecutive subsequence of A ...
- ACM 另一种阶乘问题
另一种阶乘问题 时间限制:3000 ms | 内存限制:65535 KB 难度:1 描述 大家都知道阶乘这个概念,举个简单的例子:5!=1*2*3*4*5.现在我们引入一种新的阶乘概念,将原来 ...
- 【异常】java.lang.LinkageError: loader constraints violated
[问题背景] 南非客户帐单提醒功能过程中的一个问题,当启动服务器后,后台报java.lang.LinkageError: loader constraints violated when l ...
- Linux_查看linux并发连接数
1.查看Web服务器(Nginx Apache)的并发请求数及其TCP连接状态:netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a ...
- DBLINK 创建的注意事项
摘自:http://blog.csdn.net/xulei_19850322/article/details/8219023 配置DBLINK细节很重要,请重点关注下面几点 1.确定被连接数据库可以连 ...