[assembly: System.Web.PreApplicationStartMethod()]其实主要用到的就是这个方法
添加下面这4个文件
CustomManager
public delegate IHttpModule dy(); public static class CustomManager { private static List<dy> tdy = new List<dy>(); public static void RegisterIhttpModule(dy d) { tdy.Add(d); } public static List<IHttpModule> GetModules() { List<IHttpModule> Tmo = new List<IHttpModule>(); foreach (dy item in tdy) { var t= item(); Tmo.Add(t); } return Tmo; } }
Global
public class Global : System.Web.HttpApplication { public override void Init() { base.Init(); List<IHttpModule> Th = CustomManager.GetModules(); foreach (IHttpModule item in Th) { item.Init(this); } } }
MyModule1
public class MyModule1 : IHttpModule { public static void Register() { CustomManager.RegisterIhttpModule(() => new MyModule1()); } public void Init(HttpApplication context) { context.BeginRequest += (d, e) => { (d as HttpApplication).Response.Write("test..................."); }; }
public void Dispose()
{
}
}
AssemblyInfo.cs
[assembly: System.Web.PreApplicationStartMethod(typeof(WebApplication11.MyModule1), "Register")]
运行效果如下: