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

我们正试图将我们在爸爸托pipe的networking应用迁移到Azure。 在阅读这篇关于迁移到Windows Azure的7大关注点后,我关心的是在Azure中没有avalibale。

跨域的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中的Session来说,我们必须使用Rediscaching服务

我想知道什么基本function的聊天室会话,cookies等无法在azure和解决scheme。

任何帮助将是伟大的。

唯一与会话相关的是Azure虚拟机的无状态性质。

这意味着你可能会失去一种更stream行的存储会话状态的方式。
从你链接的文章 :

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

但是,这与cookies基本无关。
有关cookie和会话状态之间差异的更多信息,那里有一些相当不错的资源。

应该使用Cookie来存储当前Web会话的每用户信息或客户端上的持久信息,因此客户端可以控制cookie的内容。

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

Cookie在云提供商上可以正常工作。