2

我正在开发一个 MVC3 项目和 SQL Azure 数据库。当我部署超过 1 个实例时,会话变量会出现一些问题。

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

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

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

请帮忙。

4

1 回答 1

8

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

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

这里有更多信息:http ://acloudyplace.com/2012/02/managing-session-state-in-windows-azure-what-are-the-options/

于 2012-05-27T16:46:21.637 回答