首页 > 编程语言 >c# - Mvc动态注册HttpModule实例

c# - Mvc动态注册HttpModule实例

时间:2022-10-28 14:38:31浏览次数:53  
标签:PreStart HttpModule Web c# xxx PreApplicationStartRegist Mvc 注册 using


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
{
}

 

 

 

 

标签:PreStart,HttpModule,Web,c#,xxx,PreApplicationStartRegist,Mvc,注册,using
From: https://blog.51cto.com/u_4518216/5804844

相关文章