ASP.NET MVC doesn't call global.asax' EndRequest
回答1
The HttpApplication instance that is represented by your global.asax file is a single instance that only represents the first HttpApplication object. It is not guaranteed that this instance of the HttpApplication will be used for any other request.
You need to override the Init() method in global.asax and in that method hook up any events that you want:
public override void Init() {
base.Init();
EndRequest += MyEventHandler;
}
Please refer to this MSDN article for more info on the HttpApplication object.