动态注册 Module

[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")]

  运行效果如下:

  

时间: 2024-07-30 23:58:06

动态注册 Module的相关文章

你必须知道ASP.NET知识------关于动态注册httpmodule(对不起汤姆大叔)

一.关于动态注册的问题 很多人看过汤姆大叔的MVC之前的那点事儿系列(6):动态注册HttpModule ,其实汤姆大叔没有发现httpmodule动态注册的根本机制在哪里. 亦即:怎么动态注册?为什么能够动态注册? 汤姆大叔给了如下开篇 通过前面的章节,我们知道HttpApplication在初始化的时候会初始化所有配置文件里注册的HttpModules,那么有一个疑问,能否初始化之前动态加载HttpModule,而不是只从Web.config里读取? 答案是肯定的, ASP.NET MVC3

MVC源码解析 - 配置注册 / 动态注册 HttpModule

本来这一篇, 是要继续 Pipeline 的, 但是在 Pipeline之前, 我看到了InitModules()方法, 所以决定, 在中间穿插一篇进来. 这一篇来讲一下 IHttpModule 的加载时机, 以及怎么动态注册 HttpModules. 一. 经典模式下的 InitModules 方法 首先来看一下 InitModules() 方法, 在这个方法中, 初始化了所有的module, 其中包括了配置文件中的和想要动态注册的. 接下来, 看一下方法: private void Init

(十八)angularjs中模块bootstrap后,动态注册新的controller

在angular中我们一般是先注册控制器和dom之间的关系,然后才调用bootstrap加载angular模块.这样dom上注册的控制器就会被自动调用. <html> <head> <script src="jquery-1.11.1.min.js"></script> <script src="angular-1.2.25.js"></script> <script> // 创建一

自己动手写RPC框架到dubbo的服务动态注册,服务路由,负载均衡功能实现

RPC即远程过程调用,它的实现方式有很多,比如webservice等.框架调多了,烦了,没激情了,我们就该问自己,这些框架的作用到底是什么,来找回当初的激情. 一般来说,我们写的系统就是一个单机系统,一个web服务器一个数据库服务,但是当这单台服务器的处理能力受硬件成本的限制,是不能无限的提升处理性能的.这个时候我们使用RPC将原来的本地调用转变为调用远端的服务器上的方法,给系统的处理能力和吞吐量带来了提升. RPC的实现包括客户端和服务端,即服务的调用方和服务的提供方.服务调用方发送rpc请求

动态注册和注销BroadercasterReceive(二)

有时候不需要监听广播是否有消息,所以可以使用动态注册的方式.即不需要再androidmanifest.xml中注册. 主要代码如下: package com.example.yabushan.broadercastreceiver; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; public class MyReceiver exte

在Asp.net 4.0 中动态注册HttpModule

using System; using System.Web; using Microsoft.Web.Infrastructure; namespace MvcApplication1 { public class CustomModule : IHttpModule { public void Init(HttpApplication context) { context.BeginRequest += new EventHandler(context_BeginRequest); } vo

BroadcastReceiver 的动态注册和静态注册问题

最近开发的小项目涉及到notification通知栏的交互问题,通知栏的各种点击事件响应通过使用broadcast实现,由于一开始没有想到使用handler提交通知栏执行后的状态或者说是信息.一直纠结与怎么注册broadcast的问题,这里先说一下注册的事情. 众所周知,注册可以在manifest.xml里面注册,还有就是在代码里面注册. 在manifest里面的注册形式是这样子的: <receiver android:name=".继承broadcastReceiver的class&qu

MVC之前的那点事儿系列(6):动态注册HttpModule(转载)

MVC之前的那点事儿系列(6):动态注册HttpModule 文章内容 通过前面的章节,我们知道HttpApplication在初始化的时候会初始化所有配置文件里注册的HttpModules,那么有一个疑问,能否初始化之前动态加载HttpModule,而不是只从Web.config里读取? 答案是肯定的, ASP.NET MVC3发布的时候提供了一个Microsoft.Web.Infrastructure.dll文件,这个文件就是提供了动态注册HttpModule的功能,那么它是如何以注册的呢?

Android 系统广播动态注册

package com.broadcasttest; import android.app.Activity; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.os.Bundle; import android.view.View;