我们有一个ASP.Net MVC项目,该项目将从单个Web服务器开始,但可能很快扩展到一个小型Web场。由于ASP.Net身份验证存储UserID,并且数据缓存也可能有用,我们可能需要很快跳转到状态服务器。
我想听听其他人如何使用State Server以及如何从性能角度进行扩展。
或者,我们可以通过不使用数据缓存和跟踪加密cookie的会话来将其设计为完全无状态。
更新:我之前有过一些错误信息(来自Microsoft技术顾问......),Auth没有像我想的那样存储在会话中,它只存储在cookie中。因此,我们不需要在这种情况下使用状态服务器。
答案 0 :(得分:2)
完全无状态(无会话)应用程序将更具可扩展性。使用ASP.NET FormsAuthentication,用户ID存储在加密的cookie中,该cookie在每个请求中都可用,您可以从数据存储中获取用户信息。为了进一步提高性能,您可以缓存一些昂贵查询的结果。理想情况下,此缓存将分布在缓存服务器场上。例如,您可以使用memcached的provider for ASP.NET。