存储ASP.NET会话变量的最佳解决方案是什么? StateServer还是SQLServer? [英] What is the best solution for storing ASP.NET session variables? StateServer or SQLServer?

查看:85
本文介绍了存储ASP.NET会话变量的最佳解决方案是什么? StateServer还是SQLServer?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

StateServer还是SQLServer?

StateServer or SQLServer?

  • 存储ASP.NET会话变量的最佳解决方案是什么?
  • 每种都有什么优缺点?
  • 在任何特定情况下,有没有比其他更好的了?

推荐答案

以下是有关专业人士/专业人士的一些想法. 我还添加了Microsoft Velocity分布式缓存解决方案.

Here's some thoughts about pro's/con's. I've also added Microsoft Velocity Distributed Caching solution.

  • 最快的可选选项(全部在内存/内存中)
  • 易于设置(.config文件中没有任何新要求.我认为这是默认行为).
  • 我相信大多数人都会使用它.
  • 如果网站(应用程序池)死亡,那么所有会话信息都将丢失.
  • 在WebFarm方案中不起作用->会话信息仅针对每个应用程序池.
  • 不能包含非会话信息.
  • 在内存/内存中,它速度很快(但是有一些净延迟.请阅读下文),因此它可能不如Inproc快.
  • Web服务器场方案的默认配置.多个iis站点使用状态服务器来控制状态会话信息.
  • 需要将ASP.NET StateServer服务设置为运行.
  • StateServer需要进行一些配置调整,以接受远程iis机器"请求.
  • 如果iis请求需要在另一台联网计算机上获取/设置会话信息,则网络延迟很小.
  • 不能包含非会话信息.
  • 即使iis站点重新启动,状态也始终保留.
  • 最慢的解决方案->净延迟和硬盘驱动器延迟(因为sql服务器将状态存储在硬盘上/从硬盘读取).
  • 最难设置/配置.
  • 不能包含非会话信息
  • 不仅可以处理会话信息->对象,应用程序设置,缓存等.(这是IMO非常好的东西!!)
  • 只能是内存,也可以保留到数据库.
  • 如果一个节点"发生故障,系统仍将正常工作. (假设有2个以上的缓存节点)
  • 通常花费$$
  • 最难以设置(必须安装内容,调整配置,添加额外的特殊代码).
  • 具有网络延迟(通常没有任何延迟),但是如果服务保留数据(例如到Sql Server),则可能具有硬盘延迟.

这篇关于存储ASP.NET会话变量的最佳解决方案是什么? StateServer还是SQLServer?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆