我在WebForms应用程序中使用System.Web.Routing 程序集。运行在win2008/IIS7上部署的应用程序时,我收到以下消息。
仅当 enableSessionState 设置为 true 时,才能在配置文件或 Page 指令中使用会话状态。另请确保 System.Web.SessionStateModule 或自定义会话状态模块包含在应用程序配置的 \\ 部分中。
这只是使用我配置的路由时的问题。直接导航到 aspx 页时,这不是问题。
EnableSessionState 已在 web.config 和 Page 指令中打开。我已经将会话条目添加到web.config的httpmodule中。
在我的工作站上使用Visual Studio进行开发时,这不是问题。仅当尝试在 Win 2008 上的 IIS7 下运行应用程序时,才有问题。
我遇到了同样的问题,我想我知道问题是什么。
我正在尝试在路由系统下实现一个 FileNotFound 页面(我还没有弄清楚的是如何在标题中给出 FileNotFound 页面并给出 404 响应)
我发现,由于某种原因,在 BuildManager 中注册的页面似乎在没有会话上下文的情况下实例化(该页面实际上没有被请求,只是实例化!
至少它看起来是这样做的。
我现在不太确定我之前的断言。显然,当图像在物理上不存在时,对图像的请求也会通过路由系统。这会导致在图像路径匹配时调用IRouteHandler
。我很确定在请求图像时会话对象不存在,因此当路由到的页面尝试访问它时,这可能会导致问题。
我认为您所描述的内容与我遇到的问题相似。
可能是您的 IIS7 以不同的模式运行,并且更像 II6 而不是 7:
几个问题:1. 您的映射是否正确重定向了您的请求?2. 当您的请求被映射时,它会去哪里?3.如果您通过此页面跟踪哪行代码生成错误(它甚至击中了您的代码)?