c# - Mvc动态注册HttpModule实例

c# - Mvc动态注册HttpModule实例

再也不容为了兼容 iis 6、7、8、9、10 了   -_- !!!!。

不用配置 web.config  的   <httpModules>  or <modules> 节点了!!!

Microsoft.Web.Infrastructure.DynamicModuleHelper 包含的类可帮助管理使用 Razor 语法的 ASP.NET 网页中的动态模块。

此命名空间及其成员仅供内部使用,不应在你的代码中直接调用。

使用 PreApplicationStartMethod 特性可以动态在web应用启动前注册 httpmodle。

适用于

.NET Framework 4.8 4.7.2 4.7.1 4.7 4.6.2 4.6.1 4.6 4.5.2 4.5.1 4.5

 

using System;
using System.Web;
using Microsoft.Web.Infrastructure.DynamicModuleHelper;


[assembly: PreApplicationStartMethod(typeof(xxx.PreApplicationStartRegist), "PreStart")]
namespace xxx
{
    /// <summary>
    /// 动态注册 IHttpModel
    /// </summary>
    public class PreApplicationStartRegist
    {
        private static bool hasLoaded;
        static object _lock = new object();
        public static void PreStart()
        {
            Console.WriteLine("PreApplicationStartRegist.PreStart() 执行...");
            lock (_lock)
            {
                if (!hasLoaded)
                {
                    hasLoaded = true;
                    DynamicModuleUtility.RegisterModule(typeof(xxx.Service.PerformanceMonitorModule));
                    Console.WriteLine("PreApplicationStartRegist.PreStart() 注册 IHttpModle 成功!");
                }
            }
        }
    }
}

namespace xxx.Service
{
    /// <summary>
    /// http 管道,用于记录访问日志
    /// </summary>
    public class PerformanceMonitorModule : IHttpModule
    {
}

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值