在ASP.NET应用启动的时候初始化的几种方法

ASP.NET 4.0 之前,有两种方法:通过Global.asax 中的 Application_Start 事件启动,或者通过定义在 App_Code 文件夹中任意类中的AppInitialize 静态方法。方法的原型定义如下:

public static void AppInitialize()
AppInitialize 方法是 ASP.NET 中一个特殊的方法,在网站应用程序启动之后进行初始化的时候将被首先调用。这个方法只能出现一次,只能出现在 App_Code 中定义的一个类中,如果出现在两个类中,ASP.NET 将会报编译错误。这个方法甚至不能定义在一个程序集中定义的类中。

在ASP.NET 4.0中,有一个很有趣的特色:Pre Application Start Method,新增的Pre Application Start Method机制则稍微改变了这个流程(原本在ASP.NET中,当应用程序起始时首先被请求的是Global.asax中的Application_Start函数),当某个Assembly标示了PreApplicationStar Method Attribute后,ASP.NET会在应用程序起始时呼叫指定的函式,这个动作发生在Global.asax中的Application_Start之前,而且是自动扫描BIN目录中的的Assemblys来进行的。具体可以参考ASP.NET 4.0 – Pre Application Start Method。

总结一下,有三种方法可以用来初始化ASP.NET应用程序:

1、在Global.asax中的Application_Start函数里完成初始化,这个也是用的最多的,不具体说明了。

2、在App_Code 文件夹中任意类中的AppInitialize 静态方法. App_Code目录是一个非常特殊的目录,特殊到很多规则你都不知道,ASP.NET对这个目录的文件会做一些特殊的处理。就比如AppInitialize静态方法的执行规则:

AppInitialize静态方法必须是在App_Code目录下。
AppInitialize静态方法在App_Code目录下不允许被定义两次。
AppInitialize方法在编译时就被特殊处理了,不能再外部的应用程序集dll里定义。
3、在PreApplicationStartMethod 我们在上边初始化之前完成网站的初始化,这样,我们可以在一个类库项目中使用这个特征来标记需要在网站中提前初始化的方法。具体可以参考ASP.NET 4.0 – Pre Application Start Method。

时间: 2024-07-28 16:33:26

在ASP.NET应用启动的时候初始化的几种方法的相关文章

用ASP技术得到主页被访问次数的三种方法

访问 用ASP技术得到主页被访问次数的三种方法             华中理工大学自动控制工程系  周茜 田忠和    ASP 是Microsoft Active Server Pages 的缩写,即动态服务器主页. 它是服务器端脚本编写环境,在Web服务器上解释脚本,可以组合HTML页.脚本命令和ActiveX组件来创建动态.交互式.高效率的 Web 页和基于 Web 的功能强大的服务器应用程序.ASP 可以在Microsoft 的任何 Web服务器上发布各种动态数据,而且ASP应用程序很容

asp.net得到本机数据库实例的两种方法代码

这篇文章介绍了asp.net得到本机数据库实例的两种方法代码,有需要的朋友可以参考一下   复制代码 代码如下: <%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <scri

XP系统注册表初始化的两种方法

  我们知道,注册表是电脑里一个非常重要的内容,一旦被病毒攻击就非常严重了,不仅仅是会导致系统崩溃.而一些电脑用户想初始化电脑的注册表,但是又不知道该怎么操作注册表才能初始化.下面,小编就以XP系统为例子,为大家演示一下XP系统注册表初始化的两种方法! XP系统注册表初始方法一: WinXP自带系统还原功能,前提是之前有过进行系统备份,使用自带功能将系统还原到某一个还原点,注册表也将随整个系统一起恢复. XP系统注册表初始方法二: 使用软件来处理.这里推荐大家使用Registry Purify(

jQuery页面加载初始化的3种方法(推荐)_jquery

jQuery 页面加载初始化的方法有3种 ,页面在加载的时候都会执行脚本,应该没什么区别,主要看习惯吧,本人觉得第二种方法最好,比较简洁. 第一种: $(document).ready(function(){ alert("第一种方法."); }); 第二种:   $(function(){ alert("第二种方法."); });  第三种: jQuery(function($) { alert("第三种方法."); }); ps; 不用jQu

[ASP.NET] 限制上传文件类型的两种方法

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 通常,为了防止因用户上传有害文件(如木马.黑客程序)引发的安全性问题,Web程序都会对用户允许上传的文件类型加以限制.而本文将要介绍的就是如何在ASP.NET应用程序中利用Web Control的内置属性简单高效地实现限制上传文件类型的功能. 在调用PostFile对象的SaveAs方法保存上传文件之前,可以通过PostFile对象的File

使用ASP组件的一点经验---注册组件的两种方法

注册组件 第一种方法:手工注册DLL    这种方法从IIs 3.0一直使用到IIs 4.0和其它的Web Server.它需要你在命令行方式下来执行,进入到包含有DLL的目录,并输入: <drive>:\<asp dir>\regsvr32 component_name.dll例如 c:\temp\regsvr32 AspEmail.dll     它会把dll的特定信息注册入服务器中的注册表中.然后这个组件就可以在服务器上使用了,但是这个方法有一个缺陷.当使用这种方法注册完毕组

js data日期初始化的5种方法

 本文为大家介绍下js data日期初始化的常用5种方法,感兴趣的朋友可以参考下 创建一个日期对象:  代码如下: var objDate=new Date([arguments list]);    参数形式有以下5种:    1)new Date("month dd,yyyy hh:mm:ss");  2)new Date("month dd,yyyy");  3)new Date(yyyy,mth,dd,hh,mm,ss);    在程序中我使用的第三种初始化

asp中把数据导出为excel的2种方法_ASP编程

我们在做项目的时候经常要将数据库的数据导出到excel中,很多asp用户并不知道怎么写. 这里明凯总结了两种方法来导出excel,希望能帮到大家. 方法一:用excel组件 < % set rs=server.createobject("adodb.recordset") sql="select * from mkusers" rs.open sql,objconn,1,1 Set ExcelApp =CreateObject("Excel.Appl

asp中把数据导出为excel的2种方法

我们在做项目的时候经常要将数据库的数据导出到excel中,很多asp用户并不知道怎么写. 这里明凯总结了两种方法来导出excel,希望能帮到大家. 方法一:用excel组件 < % set rs=server.createobject("adodb.recordset") sql="select * from mkusers" rs.open sql,objconn,1,1 Set ExcelApp =CreateObject("Excel.Appl