2009-05-25 53 views
1

我遇到问题。在从IIS 7.0经典流水线模式迁移到集成流水线模式时,我们遇到以下问题:全局asax application_start应用程序的begin_request方法?

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

请求是不是在这种情况下可用...

我们发现这个问题的解决方案在

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

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

回答

3

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

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

+0

我没有会话或session_start。 我需要的是基本上在application_start事件之前调用Application_BeginRequest事件,或者使用有效参数从app_start调用begin_request方法。 – Yaya 2009-05-25 14:00:33

0

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

+0

这不是我的选择。 – Yaya 2009-05-25 13:58:22

相关问题