Windows Azure上具有多个实例的会话变量

时间:2012-05-27 16:14:50

标签: c# .net asp.net-mvc-3 azure azure-sql-database

我正在研究MVC3项目和SQL Azure数据库。当我部署多个实例时,会遇到会话变量的一些问题。

更清楚的是,我将表的结果存储在会话变量中,并将结果传递给模型,用户可以修改和操作数据,直到他点击“保存”按钮。

当用户点击“保存”时,我从模型中获取新值并将它们传递给BLL和DAL图层以更新数据库。

我不知道这是否是正确的解决方案!!但是客户端不会在每次数据更改时都访问数据库。

请帮助。

1 个答案:

答案 0 :(得分:8)

您遇到的问题是由于会话数据本地存储在服务器上(这被ASP.NET称为I​​nProc)。当您使用多个实例时,实例之间不会共享此数据。为了实现这一目标,您有几个选择:

  • 将会话数据存储在SQL Azure数据库中。
  • 将会话数据存储在Azure的表存储中。
  • 将会话数据存储在Azure的缓存服务中(可能是最快的,但也是最昂贵的)。

以下是一些信息:http://acloudyplace.com/2012/02/managing-session-state-in-windows-azure-what-are-the-options/