|
public
class
PreApplicationStartCode {
public
static
void
Start() {
// Your startup code here
}
}
|
而後添加一個程序集級別屬性指向它:asp.net
|
[assembly: PreApplicationStartMethod(
typeof
(PreApplicationStartCode),
"Start"
)]
|
隨着MVC3和asp.net web pages的發佈,還有另一個不用配置文件而是程序動態註冊HttpModule的好方法:RegisterModule()API,可悲的是,這個方法隱藏太深,不多用到而且也很難發現(這個API下個版本有可能會被清除掉)
結合兩種技術,就能夠爲所欲爲的動態註冊module了dom
|
public
class
PreApplicationStartCode {
public
static
void
Start() {
// Register our module
Microsoft.Web.Infrastructure.DynamicModuleHelper.DynamicModuleUtility.RegisterModule(
typeof
(MyModule));
}
}
|
呵呵,是否是藏得很深啊post
傳入的參數類型就是標準的IHttpModule,例如google
|
class
MyModule : IHttpModule {
public
void
Init(HttpApplication context) {
context.BeginRequest += (sender, e) => {
var response = ((HttpApplication)sender).Response;
response.Write(
"MyModule.BeginRequest"
);
};
}
public
void
Dispose() { }
}
|
這個方法的優勢就是:你能夠建立一個封裝好的程序集,編譯好後把放到一個web app的bin文件夾下,自動完成註冊spa
部分信任環境下也可很好的工做.net