zoukankan      html  css  js  c++  java
  • pipeline httpmodule

    using System;

    using System;
    using System.Collections.Generic;
    using System.Diagnostics;
    using System.Linq;
    using System.Web;
    
    namespace pipeline.App_Start
    
    {
        /// <summary>
        ///对Httpapplication 中的一系列事件进行注册,叫做Ihttpmodule ,这样就可以管道中进行的一系列事件, 大概有19个事件
        /// httpmodule作用: 日志、性能监控、权限、缓存、页面加东西、请求过滤、
        /// </summary>
        public class CustomHttpModule : IHttpModule
        {
            public void Init(HttpApplication context)
            {
                //  注册beginRequest
                context.BeginRequest += (s, e) =>
                {
    
                    Debug.WriteLine("BeginRequest");
                };
                context.AcquireRequestState += (s, e) =>
                {
                    Debug.WriteLine("AcquireRequestState");
    
                };
                context.Error += (s, e) =>
                {
                    Debug.WriteLine("Error");
    
                };
                context.Disposed += (s, e) =>
                {
                    Debug.WriteLine("Disposed");
    
                };
                context.PostResolveRequestCache += (s, e) =>
                {
                    Debug.WriteLine("PostResolveRequestCache 缓存");
    
                };
                context.PostReleaseRequestState += (s, e) =>
                {
                    Debug.WriteLine("PostReleaseRequestState");
    
                };
                context.PostResolveRequestCache += (s, e) =>
                {
                    // System.Web.Routing.UrlRoutingModule   MVC 其实就是一个扩展
                    Debug.WriteLine("PostReleaseRequestState");
                    //  MVC   就是 httpmodule扩展,通过URLroutemodule 
                };
                context.PreRequestHandlerExecute += (s, e) =>
                {
                    Debug.WriteLine("PreRequestHandlerExecute");
                };
                context.MapRequestHandler += (s, e) =>
                {
                    Debug.WriteLine("MapRequestHandler");
                };
                context.PostAuthorizeRequest += (s, e) =>
                {
                    Debug.WriteLine("PostAuthorizeRequest");
                };
                context.EndRequest += (s, e) =>
                {
    
                    Debug.WriteLine("EndRequest");
                };
            }
    
            public void Dispose()
            {
                throw new NotImplementedException();
            }
        }
    }
    

      



    	<system.webServer>
    		<validation validateIntegratedModeConfiguration="false" />
    		 <modules>
    			<!--集成模式下httpmodule的配置-->
    			<add name="CustomHttpModule" type="pipeline.App_Start.CustomHttpModule"/>
    			<!--不用的事件可以移除,提高性能,如下-->
    			 <remove name="FormsAuthoriztion"/> 
    		 </modules>
    	</system.webServer>
    

      

  • 相关阅读:
    多态
    多继承
    传宗接代——继承
    解决vue项目更新版本后浏览器的缓存问题
    escape()、encodeURI()、encodeURIComponent()三种编码方式的区别
    epoll使用总结
    探讨c/c++的指针
    基于linux的pthread_t封装一个Thread类
    unix高并发编程中遇到的问题和笔记
    面向对象分析与设计 实验七
  • 原文地址:https://www.cnblogs.com/hnzheng/p/13139145.html
Copyright © 2011-2022 走看看