我目前正在设计一个基于MVC的新网站,我想知道什么是管理状态的正确方法。
国家应该包含用户ID和用户信息的一些结构,而他在(通过HTTP请求)在Asp.Net MVC网站维护状态
的重要标准,真实记录应在用户的整个会话期间保持:
1)支持的可扩展性
2)性能
简单的方法是使用会话对象,但它不支持可伸缩性。如果会话期间不同的请求通过不同的IIS服务器,会话将不会保留。尽管我听说过负载均衡工具可以通过同一台机器将单个会话的所有请求发送出去,但我不确定依赖它是否是一个好习惯(不是吗?)
另一种选择是我已经读过,将状态数据保存在运行RAM数据库的特殊状态服务器中(如Cassandra for Linux或Redis for Windows)。但在我看来,在这个发展阶段,这种做法过于夸张。
你有什么建议吗? 我想从现在简单的事情开始,但在将来继续为更高级的解决方案做好准备。
任何最佳实践或代码/设计建议将不胜感激。
谢谢,
Edi。
ASP.NET还附带可在服务器场中的服务器上配置的状态服务器(Windows服务)。 – GalacticCowboy 2013-02-11 21:08:15
太棒了,ServiceStack看起来很不错。它看起来很简单,我将能够使用InMemoryCache来替换会话。 – Edi 2013-02-11 21:24:12
顺便说一句,有一个会话cookie,它存储每次登录的会话标识符。所以我可以通过Session对象检索它并将其用作我的自定义缓存提供程序的标识符,对吗? – Edi 2013-02-11 21:27:32