PreApplicationStartMethodAttribute的使用

先预备一个类,用于Start时调用

public static class MyPreApplicationStart
   {
       public static void RegisterGlobalFilters(GlobalFilterCollection filters)
       {
           if (filters != null)
               filters.Add(new HandleErrorAttribute());
       }
 
       public static void Start()
       {
           RegisterGlobalFilters(GlobalFilters.Filters);
       }
这之后通过PreApplicationStartMethodAttribute注册到assembly即可,需要注意的是自定义类必须public ,其中用记Start的方法必须public static
[assembly: PreApplicationStartMethod(typeof(MyPreApplicationStart), "Start")]

Reference:

http://msdn.microsoft.com/query/dev10.query?appId=Dev10IDEF1&l=ZH-CN&k=k(SYSTEM.WEB.PREAPPLICATIONSTARTMETHODATTRIBUTE);k(TargetFrameworkMoniker-%22.NETFRAMEWORK%2cVERSION%3dV4.0%22);k(DevLang-CSHARP)&rd=true

http://msdn.microsoft.com/zh-cn/library/gg401977(v=vs.98)

它可以让我们脱离web.config做一些事情,如注册自定义IHttpModule、注册BuildProvider此用法不能保证调用程序集定义的应用程序启动方法的顺序。 因此,每个注册的开始方法应该将代码编写为分开运行,不应该依赖于其他注册开始方法的副作用。

原文地址:https://www.cnblogs.com/lenmom/p/8533299.html