首页 新闻 赞助 找找看

只能在引发“HttpApplication.AcquireRequestState”之前调用“HttpContext.SetSessionStateBehavior”

0
悬赏园豆:5 [已解决问题] 解决于 2013-08-31 18:19

解决方案内项目能够正常运行,部署在IIS7+,访问出现

只能在引发“HttpApplication.AcquireRequestState”之前调用“HttpContext.SetSessionStateBehavior”

等大神

 

index.aspx 代码

<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
if (Request.ApplicationPath != null) HttpContext.Current.RewritePath(Request.ApplicationPath);

IHttpHandler httpHandler = new MvcHttpHandler();

httpHandler.ProcessRequest(HttpContext.Current);
}
</script>

一枼如来的主页 一枼如来 | 菜鸟二级 | 园豆:221
提问于:2013-08-29 00:27
< >
分享
最佳答案
0

对应的英文错误是:

'HttpContext.SetSessionStateBehavior' can only be invoked before 'HttpApplication.AcquireRequestState' event is raised.

解决方法:

将 httpHandler.ProcessRequest() 改为 HttpContext.Current.Server.TransferRequest()

参考:

MVC3 Application Inside Webforms Application Routing is throwing a HttpContext.SetSessionStateBehavior Error in IIS7.5

收获园豆:4
dudu | 高人七级 |园豆:31075 | 2013-08-29 10:33

感谢dudu的回答,IIS访问无法找到该路径

一枼如来 | 园豆:221 (菜鸟二级) | 2013-08-30 09:31

@Green Spore: TransferRequest()的使用你再研究一下,我只是提供一个解决思路

dudu | 园豆:31075 (高人七级) | 2013-08-30 09:49
其他回答(1)
0

你事情顺序弄错了 先要获得状态后才能设置。

收获园豆:1
Albert Fei | 园豆:2102 (老鸟四级) | 2013-08-29 10:41
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册