lenmom

博客园 首页 新随笔 联系 订阅 管理

先预备一个类,用于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此用法不能保证调用程序集定义的应用程序启动方法的顺序。 因此,每个注册的开始方法应该将代码编写为分开运行,不应该依赖于其他注册开始方法的副作用。

posted on 2018-03-09 12:57  老董  阅读(210)  评论(0编辑  收藏  举报