zoukankan      html  css  js  c++  java
  • 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是这个类所在的地址,后半截是他所在的程序集

  • 相关阅读:
    TCP和UDP的区别
    项目--华为商城---登录页面(一)
    Servlet(一)—— 文件上传(表单文件上传)
    LeetCode(一) —— 存在重复
    电脑右击不能创建txt文件
    边工作边刷题:70天一遍leetcode: day 92-2
    自底向上集成 Bottom-Up
    分层集成(线性关系) Layers
    基干集成(内核耦合度高) Backbone
    三明治集成(分而治之策略) 又分为传统型和改进型 Sandwich
  • 原文地址:https://www.cnblogs.com/ansheng/p/5486474.html
Copyright © 2011-2022 走看看