代码之家  ›  专栏  ›  技术社区  ›  pokrate

动态添加httpmodules和httphandlers

  •  3
  • pokrate  · 技术社区  · 14 年前

    在运行时从网站添加/删除httpmodules和httphandlers是个好主意吗? 我正在寻找方法,使我的网站尽可能动态,而不上传改变的内容一遍。类似于配置文件。 规则引擎存在,但学习它们似乎很痛苦。我的观点可能是错误的。请建议在运行时更改代码中逻辑的可能方法。

    3 回复  |  直到 12 年前
        1
  •  1
  •   RameshVel    14 年前

    一种可能的方法是创建一个通用的httphandlerFactory,它反过来返回请求的处理程序。

    退房 link 为了更清楚

        2
  •  7
  •   Nikhil Kothari    14 年前

    ASP.NET 4提供预应用程序启动方法功能,可用于以编程方式添加httpmodules。

    我刚刚在网上写了一篇博文 http://www.nikhilk.net/Config-Free-HttpModule-Registration.aspx .

    基本思想是创建一个派生的httpapplication,它提供在启动时动态添加httpmodules的能力,然后每当在应用程序域中创建每个httpapplication实例时,它就会将它们初始化到管道中。

        3
  •  4
  •   Community Sam Holder    7 年前

    对于.net4及以上版本:

    要动态安装httphandler,您需要创建一个httpmodule包装器。请参阅以下内容的答案: Any way to add HttpHandler programmatically in .NET?

    要动态添加HTTP模块:

    安装包microsoft.web.infrastructure

    安装包WebActivator

    [assembly: PreApplicationStartMethod(typeof(MyPreStartClass), "Start")]
    
    namespace .....
    {
        public static class MyPreStartClass
        {
            public static void Start()
            {
                DynamicModuleUtility.RegisterModule(typeof(FooHttpModule));
            }
        }
    }
    
    推荐文章