session-state - IIS Express 不保留 session 数据

标签 session-state iis-express

我有一个在 IIS Express 服务器下的 Visual Studio 2013 中运行的应用程序。问题是 session 数据没有保存在页面之间,我发现以前页面不是空的空对象。如果我编译应用程序并将其部署在带有 IIS 的 Web 服务器上,它可以正常工作,所以它必须是带有 IIS Express 的东西。我搜索了文档文件夹中的配置文件,但真的不知道它是什么。

谢谢,
卢克

编辑 25/11:我正在使用 VS 2013 和 VS 2010 在同一台机器上调试代码,我发现代码的行为不同。在执行完后面的代码并构建页面后,在 VS 2010 中执行结束。在构建页面后的 VS 2013 中,我再次调用方法 context_BeginRequest(object sender, EventArgs e),它将应用程序重定向到起始页面,其中指令 Session.Clear() 清除 session 。现在的问题是:为什么要额外调用 context_BeginRequest 方法?为什么它重定向到起始页面而不是它当前所在的页面?谢谢,卢克。

最佳答案

我遇到了类似的问题。我的代码在生产服务器上运行良好,但是当我在测试机器上调试它时,保存和重定向之间的 session 将为空。

当我将 session 状态设置为 cookieless 时,<sessionState cookieless="true" , session 变量将被保留。但这是不可取的,因为它将 session 名称添加到 url。

经过进一步检查,我注意到我的 system.web <httpCookies requireSSL="true" /> 中有一行当我将其注释掉时,一切都照常进行。

问题是我的生产 IIS 服务器使用 https://托管代码,而我的测试 IIS Express 服务器仅使用 http。所以我不安全的 cookie 被丢弃了。

关于session-state - IIS Express 不保留 session 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26995371/

相关文章:

ASP.NET:是否可以保留复杂的对象,例如 list<> 是 session ?

iis-7 - IIS Express 的默认限制 <limits>

Azure 计算模拟器 : Is it possible to control the IP of individual instances?

c# - 沙发底座上的 session 状态

ruby-on-rails - rails 3,heroku,如何使用 session

google-app-engine - 如何在 App Engine 上实现服务器亲和性或粘性 session ?

c# - 如何防止用户从多个位置或同一台电脑上的不同浏览器登录

asp.net - 127.0.0.1 此站点无法提供安全连接

asp.net - 如何防止 Visual Studio 从临时 ASP.NET 文件加载 PDB

visual-studio - IIS Express 配置/元数据库文件在哪里找到?