问题1:不是,这个是当IIS启动这个网站的时候执行的事件。
问题2:这个事件只会在IIS启动或者重启这个网站的时候执行一次,其他时候不会触发。
问题3:当某个用户访问网站时会触发一次这个事件,直到Session超时结束(Session的生命周期,你可以去百度一下),重新刷新页面时才会第二次触发。
问题4:Application_BeginRequest,每次用户点击一个按钮或者刷新页面,都会触发这个事件.当Application_BeginRequest事件触发时,session还没有初始化所以你报错,可以在Application_AcquireRequestState事件中处理 
问题5:同4
问题6:捕获那些未处理的异常,没有处理过的异常
问题7:在会话结束时运行的代码。注意: 只有在 Web.config 文件中的 sessionstate 模式设置为 InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer 或 SQLServer,则不会引发该事件。
问题8:网站关闭/重启或者IIS停止的时候触发

解决方案 »

  1.   

    请问下:
    默认global.asax里面没有Application_AcquireRequestState  是需要自己定义一个Application_AcquireRequestState,如果是自己定义的话那么参数应该写什么?问题6
    捕获那些未处理的异常,没有处理过的异常
    在这个事件里面,可不可以理解成报错后就会走这个事件?
      

  2.   

    问题太多,请看
    http://www.tracefact.net/Asp-Net/Introduction-to-Http-Module.aspx另外 自己搜索一下:httpmodule有看有流程图的文章更好
      

  3.   

    protected void Application_AcquireRequestState(Object sender, EventArgs e){}
    问题6:不是报错就会走这个事件,如果在报错的地方你用try catch捕获自己处理了,而没有throw出来,则不会到这里来。