全局asax application_start应用程序的begin_request方法?

时间:2009-05-25 13:36:15

标签: iis-7 global-asax httpapplication

我有问题。在IIS 7.0中从经典管道模式迁移到集成管道模式时,我们遇到了问题:

  应用程序中的服务器错误。

     

请求在此上下文中不可用...

我们在

找到了解决此问题的方法
mvolo.com/blogs/serverside/archive/2007/11/10/Integrated-mode-Request-is-not-available-in-this-context-in-Application_5F00_Start.aspx

作为解决方案,很快,在global.asax中,我必须将application_start事件转发到 Application_BeginRequest 事件。

void Application_Start(object sender, EventArgs e) { // sender has type 'System.Web.HttpApplicationFactory' }

Application_BeginRequest(Object source, EventArgs e) | {

// sender has type 'System.Web.HttpApplication' }

或者另一个解决方案是,Application_Start事件可以稍后启动,然后 Application_BeginRequest

有什么建议吗? 我没有选择“经典模式”的选择

2 个答案:

答案 0 :(得分:3)

将代码移至Application_BeginRequestSession_Start。无论如何,您不应该使用Request中的Application_Start对象。

Request对象包含特定于一个页面请求的信息。在Application_Start事件中对这些信息做任何事情都没有任何意义。

答案 1 :(得分:0)

因此,将您的应用池模式更改为经典。