【问题标题】:IIS Express doesn't keep session dataIIS Express 不保留会话数据
【发布时间】:2014-11-18 13:20:39
【问题描述】:

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

谢谢, 卢克

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

【问题讨论】:

标签: session-state iis-express


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-01
    • 2017-10-14
    • 1970-01-01
    • 2018-05-22
    • 2016-03-30
    • 1970-01-01
    • 2017-07-23
    • 1970-01-01
    相关资源
    最近更新 更多