在网络场托管的 ASP.NET MVC 应用程序中维护用户的会话状态
在网络场托管的 ASP.NET MVC 应用程序中维护用户会话状态的最佳方法是什么?
我们的应用程序当前使用 IIS 6.0 上的标准 ASP.NET 会话,但我们希望将应用程序移至网络场环境。 我读到我们可以为我们的应用程序使用 SQL Server 会话状态,但我只想知道是否有人使用其他东西以及为什么!
What is the best way to maintain a user's session state in an ASP.NET MVC app hosted on a web farm?
Out application currently uses the standard ASP.NET session on IIS 6.0 but we want to move the app to a web farm environment.
I have read that we can use SQL Server session state for our application but I just want to know if anybody was using something else and why!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
一种方法是 使用 Velocity 分布式缓存。
One way would be to use the Velocity distributed cache.
在 SQL 中存储会话在 MVC 中仍然有效(就像在 WebForms 中一样):
http://support.microsoft .com/kb/317604
我们在 MVC 应用程序的几个盒子中成功使用了它,并且在旧版 WebForms 应用程序的相当多的盒子中使用了它。
Storing session in SQL is still valid in MVC (as it was in WebForms):
http://support.microsoft.com/kb/317604
We're using it successfully across a few boxes for our MVC app, and have used it across quite a few boxes for older WebForms apps.
正如 StackOverflow 播客之一中所讨论的:通常会话状态非常小 - 到处都是几个键 - 并且只需将其存储在中央数据库中就可以很好地工作。
As discussed in one of the StackOverflow podcasts: usually session state is very minimal - a few keys here and there - and works well to simply store this in a central database.
您可以尝试将会话存储在内存缓存中。 应该既快速又可扩展。 但它确实需要一些内存。
You could try storing your sessions in memcache. Should be both fast and scalable. It does require some memory though.