PreApplicationStartMethod 程序集的使用
- 作用:PreApplicationStartMethod主要是用于为程序集指定一个方法,在程序集加载时进行一些自定义的初始化(指定某个函数在站点Application_start之前执行)。
- 用法:一般放在AssemblyInfo.cs中,可以注册多个。定义的方法要声明为public static
- 用途:可以让我们脱离web.config做一些事情,如注册自定义IHttpMoudle,注册BuildProvider.
- 注意:
- PreApplicationStartMethod中的方法只能在本程序集中,也就是说只能在调用本程序集中的方法进行初始化。
- 如果项目中引用了多个程序集,那么这些程序集之间的执行顺序是不确定的(加上实例构造函数和类型构造函数后,发现执行顺序是:先执行类型构造器,之后是PreApplicationStartMethod中定义的函数,实例构造函数没有执行到(因为此处并没有创建实例)),但是总的顺序还是先执行外部引用的程序集,然后在执行本程序集中的初始化函数。
- PreApplicationStartMethod位于System.Web程序集中,使用时要添加引用。
拓展:IHttpMoudle和BuildProvider的注册方法:
BuildProvider是一种代码生成机制。当你创建一个.aspx文件的时候,会自动创建对应的源代码。等等。。在路径%Windows%\Microsoft.NET\Framework\v2.0.50727\CONFIG\web.config中可以看到默认情况下使用的BuildProvider以及它基于的源文件类型(拓展名)。BuildProvider可以自定义。此处由于时间关系没有去实践
IHttpMoudle的注册有两种方式,一种是通过web.config注册,还有一种就是使用PreApplicationStartMethod特性。