【发布时间】:2014-04-01 00:19:35
【问题描述】:
我们目前在我们的一台服务器上托管了 2 个独立的 ASP.Net 网站。这些站点使用 StateServer 在两个站点之间维护相同的会话。我们希望将这些站点迁移到 Azure。我能够毫无问题地在 Azure 上上传这两个站点,但我无法在两个站点之间共享会话。我尝试使用 Azure 缓存服务(预览版)来维护会话,但由于某种原因它不起作用,当我重定向到第二个站点时它总是使用不同的会话。我已经花了很多时间在谷歌上搜索,但无济于事。
为了深入了解问题,我现在创建了 2 个测试站点并将其上传到 Azure。我更改了配置以使用缓存服务(预览版)作为 SessionState,但它仍然不起作用。
测试站点的链接是:http://sessiontestsite1.azurewebsites.net/
在主页上,请在文本框中输入一个值,然后单击“更新会话变量”,这会将文本存储到会话变量中。然后,在页面的右上角有一个名为“Site2”的链接,它将重定向到第二个站点。我希望第二个站点能够访问“Site1”中设置的会话变量,反之亦然。请注意,在我的本地机器上,我可以使用 StateServer 使用相同的会话。
我按照这个link配置缓存服务。
我在某处读到,人们说缓存服务不能与 Azure 网站一起使用,但我认为这些都是旧帖子,根据 Scott Gutherie 的博客(抱歉,StackOverflow 不允许我发布超过 2 个链接)缓存服务可用于 Azure 网站。
此外,我们的要求是将这些站点用作 Azure 网站,我们不想使用 WebRoles 或 VM 或 CloudServices 等。
【问题讨论】:
-
请检查您是否在 web.config 中指定了会话状态提供程序部分。安装 NuGet 包后,它将更新 web.config 并添加配置了 azure 缓存服务的会话状态提供程序,但默认情况下会对其进行注释。您可能需要取消注释并再试一次。
-
sessionState 部分没有被注释掉。谢谢。
标签: asp.net session azure azure-web-app-service azure-caching