MVC3 StorageSessionStateProvider - 我需要吗?

时间:2011-04-07 14:49:03

标签: asp.net-mvc asp.net-mvc-3 azure

我注意到他们正在使用的天蓝色的例子:

<sessionState mode="Custom" customProvider="TableStorageSessionStateProvider">

有人能解释一下MVC3的用途吗?我对会话状态非常困惑。如果我的应用程序没有像购物车那样的东西,我真的需要使用它吗?如果我只想进行简单的身份验证,是否需要它?我从web.config中删除了代码,我的身份验证似乎仍然有效。

1 个答案:

答案 0 :(得分:1)

如果您要将应用程序发布到Azure并且您以任何方式使用Session(这包括MVC的TempData),那么您可能需要使用某种中央存储来进行会话,而不是使用默认的“InProc”提供者,它只将用户的会话存储在应用程序自己的内存中。使用azure,您可以使用SQL Azure或AppFabric Cache(仍在CTP中)。

这是AppFabric的一个很好的实验室: http://msdn.microsoft.com/en-us/gg457897

这是SQL Azure的一个(不支持):http://blogs.msdn.com/b/sqlazure/archive/2010/08/04/10046103.aspx

这是因为您可以运行多个实例,或者您可以在任何给定时刻移动实例。

听起来您的应用程序当前不使用会话状态,因此您无需担心它。 (尽管如此,请记住TempData字典使用了Session)