【问题标题】:Session and Cookies not working on Windows Azure Cloud environment会话和 Cookie 在 Windows Azure 云环境中不起作用
【发布时间】:2011-07-29 03:56:05
【问题描述】:

我已经将一个网站迁移到云端,它可以在我的本地机器上使用计算和存储模拟器完美运行。

但是,当我将它放到 Windows Azure 云上时,会话和 cookie 无法正常工作。下面给出了 web.config 文件的一部分。

<sessionState timeout="30"
              mode="SQLServer"
              sqlConnectionString="Server=sxxxxxxxxx.database.windows.net;User ID=xxxxx@sxxxxxxxxx;Password=MY_PASSWORD"
              cookieless="false"
              allowCustomSqlDatabase="true" >
</sessionState>

任何人都可以指导更正吗?网站上的所有其他东西都运行良好。

以下是一些附加信息:


总而言之,我做了以下事情。

  1. 成功将网站迁移到 Windows Azure

  2. 已成功创建数据库访问所需的连接字符串。

  3. 使用计算模拟器和存储模拟器在本地机器上测试了网站。

  4. 当我发布网站并上传 packageFile 和 configurationFile 时,一切正常。但是

对于使用会话/cookies 的页面。所有静态页面都运行良好。所有数据库访问都是正确的。

  1. 然后,我编写了一些代码来正确设置会话。

出现错误,整个网站停止工作

  1. 创建了所需的数据库和表(ASPSTATE 数据库及其对应的表)。一切顺利。

http://blogs.msdn.com/b/sqlazure/archive/2010/08/04/10046103.aspx

测试了网站...仍然在本地和云端出现错误...如本文前面所述。

你能指导我纠正这个吗?

【问题讨论】:

标签: session cookies web-config azure


【解决方案1】:

.大家好,

感谢您的回复。我稍微修改了 web.config 中的会话状态,如下所示

    <sessionState cookieless="false" mode="SQLServer" 
                  sqlConnectionString="data source=serverName.database.windows.net;user id=UserID@serverName;password=password;Trusted_Connection=False;Encrypt=True;"
                  timeout="20"
                  allowCustomSqlDatabase="true">
    </sessionState>

现在它工作正常。

问候 桑迪普

【讨论】:

    【解决方案2】:

    我假设 SQL Server 会话状态提供程序没有抛出异常,只是没有保持状态?

    您会知道 cookie 用于保存会话 ID,因此它可能源于一般 cookie 问题。

    您是否对域名做任何不寻常的事情?我只是想知道 cookie 和您访问该网站的 URL 之间是否存在域不匹配,这意味着 cookie 不会在后续请求中呈现。

    当然,也有可能是安全限制阻止您的浏览器接受 cookie,但您之前可能已经注意到这是一个问题!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-02
      • 1970-01-01
      • 2014-01-25
      • 2017-03-16
      相关资源
      最近更新 更多