【发布时间】:2009-04-06 05:44:40
【问题描述】:
我的混合(Web 表单/MVC)项目在我的本地开发环境中运行良好,但是当我将 (xcopy) 部署到我的测试环境时,我收到需要 SessionState 的错误(如下所示的完整错误)。
此错误消息的奇怪之处在于,会话状态在我的 web.config 中设置为 InProc,而 IIS7 配置也显示了它。
我正在运行一个经典的 Web 表单站点,并且只有一小部分要迁移到 MVC 1.0。现在我的常规 web 表单 default.aspx 页面无法出现!
- 我不在 MVC 中根本不使用 TempData 提供程序,所以我猜测框架出于某种原因确实如此,但见鬼,我的 SesionState 已启用...
- 我的测试环境在 IIS 7 上以集成模式运行,我的 webconfig 的 sessionstate 为 InProc,并且工作正常。
更多信息:为了好玩,我创建了一个仅 MVC 的存根项目并将其部署到测试环境,它运行良好! web.config 的 基本相同,一个有效,另一个无效。
感谢任何帮助。
错误信息
“/”应用程序中的服务器错误。
SessionStateTempDataProvider 需要启用 SessionState。 说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。 异常详细信息:System.InvalidOperationException:SessionStateTempDataProvider 需要启用 SessionState。 源错误: 在执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常起源和位置的信息。
堆栈跟踪:
[InvalidOperationException:SessionStateTempDataProvider 需要启用 SessionState。] System.Web.Mvc.SessionStateTempDataProvider.LoadTempData(ControllerContext controllerContext) +247928 System.Web.Mvc.TempDataDictionary.Load(ControllerContext controllerContext, ITempDataProvider tempDataProvider) +30 System.Web.Mvc.Controller.ExecuteCore() +71 System.Web.Mvc.MvcHandler.ProcessRequest(HttpContextBase httpContext) +209 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +599 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +171
【问题讨论】:
-
我也有同样的异常 可能是部分操作的语法错误,尝试调试。我认为它在会话中保存异常
标签: asp.net-mvc