将现有 ASP.NET MVC 应用程序迁移到 Windows Azure 的限制

将现有 ASP.NET MVC 应用程序迁移到 Windows Azure 的限制

我们正在尝试将托管在 Go Daddy 上的 Web 应用迁移到 Azure。阅读以下内容后,我担心 Azure 中无法使用某些功能发布有关迁移到 Windows Azure 的 7 大关注事项的帖子。

跨域 cookie 能起作用吗?

我们有一个带有子域名的网站。

example.com -- 主域名

sub.example.com——子域名

这就是我们使用 cookie 的方式。

在主域中设置 cookie。

 HttpCookie myCookie = new HttpCookie("SiteUser");
 myCookie.Domain = ".example.com";
 myCookie["CustType"] = "Full";
 myCookie.Expires = DateTime.Now.AddDays(1d);
 Response.Cookies.Add(myCookie);

读取子域中的 cookie。

if (Request.Cookies["SiteUser"] != null)
{
HttpCookie item = Request.Cookies["SiteUser"];

}

会话状态

这就是我们在当前应用程序中使用会话状态的方式

Session["FirstName"] = "John"; -- 这可以在 Azure 中使用吗?

似乎Azure 中的会话我们必须使用发布的 Redis 缓存服务这里

我想知道 asp.net 的哪些基本功能(例如会话、cookie 等)在 azure 中无法使用,以及解决方案。

任何帮助都将非常有帮助。

答案1

与会话相关的唯一事物是 Azure VM 的无状态特性。

这意味着你可能会失去一种更流行的存储会话状态的方法。
您链接的文章

最常用的提供程序是进程内内存提供程序,它将状态存储在其运行的 Web 服务器的内存中。它依赖于为“粘性会话”配置的负载平衡器。由于 Windows Azure 负载平衡器是非粘性的,因此您不能使用此提供程序。

然而,这与 cookie 基本无关。
有关 cookie 和会话状态之间差异的更多信息,请参阅那里有非常好的资源。

曲奇饼应用于存储当前 Web 会话的每个用户信息或持久信息在客户端上,因此客户端可以控制 cookie 的内容。

会议用于存储当前 Web 会话的每个用户信息在服务器上.支持使用数据库服务器作为后端存储。

Cookies 在云提供商上可以很好地发挥作用。

相关内容