MVC3和会话可伸缩性

时间:2012-05-30 10:30:55

标签: c# asp.net-mvc-3 session scalability

我正在构建一个MVC 3应用程序,并对一个示例场景有疑问。

我有两个实体 - OrderOrderDetails。 订单数据填写在一个页面上,详细信息在其他三个页面上添加,编辑和删除。 填写订单和详细信息后,我将这一堆数据保存到数据库中。

正如您所看到的,在用户工作期间以及将数据保存到数据库之前,我需要将订单和详细信息数据存储到某种内存或类似对象中。

现在,如果我将此对象存储在Session中,那么我将破坏可扩展性 - 应用程序无法跨越多台计算机。

是否存在允许可扩展性的模式或方法并执行所描述的场景?

注意:Sql-Server会话状态以外的解决方案

1 个答案:

答案 0 :(得分:4)

查看状态服务器会话

StateServer模式,它将会话状态存储在名为ASP.NET状态服务的单独进程中。这可确保在重新启动Web应用程序时保留会话状态,并使会话状态可用于Web场中的多个Web服务器。

http://msdn.microsoft.com/en-us/library/ms178586.aspx