关闭

如何在ASP.NET应用程序中初始化(下)

发表于:2013-3-26 09:57

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Fish Li    来源:51Testing软件测试网采编

  接如何在ASP.NET应用程序中初始化(上)

  ASP.NET 4.0新增的初始化方法

  为了让一些类库能自动执行一些初始化,ASP.NET提供了一种新方法,允许为程序集指定一个PreApplicationStartMethodAttribute

  为了演示这种用法,我将前面的示例(VS2008开发)移到一个类库中(用VS2012开发)并设置类库的命名空间为InitClassLibrary1。

  然后,我添加了一个调用类:

  1. namespace InitClassLibrary1  
  2. {  
  3.     public class Class1  
  4.     {  
  5.         public static void InitApp()  
  6.         {  
  7.             AppInitializer.Init();  
  8.         }  
  9.     }  
  10. }

  最后,我们可以在InitClassLibrary1类库的AssemblyInfo.cs文件中,增加一个Attribute

  1. [assembly: System.Web.PreApplicationStartMethod(  
  2.                 typeof(InitClassLibrary1.Class1), "InitApp")]

  当然了,你也可以直接像下面设置,免得多创建一个类型出来:

  1. [assembly: System.Web.PreApplicationStartMethod(  
  2.                 typeof(InitClassLibrary1.AppInitializer), "Init")]

  这样设置后,再运行网站,你也能发现我们的初始化代码确实运行了:黄页仍然在显示。

  各种初始化方法的差别

  前面介绍了4种在ASP.NET执行初始化的方法,你或许想知道它们到底有哪些区别呢?

  由于它们都能实现初始化的操作,它们的差别也只有执行的时刻不同而已,我们可以用简单的方法区分它们的调用位置:看异常的调用堆栈信息。

  AppInitialize方法异常时的调用堆栈信息:

  HttpModule异常时的调用堆栈信息:

31/3123>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号