ASP.NET SQL SessionState提供程序似乎超出了我的要求。 SQL Server必须“配置”才能支持它,我对它的优化程度有疑问(即,是否有一个db命中来获取整个会话,或者每个会话项请求一个?)。
我认为我可以非常轻松地实现自定义解决方案,我会理解并轻松地重新部署到其他项目。有什么基本的东西我没有在这里考虑过,并且内置的SessionState处理程序是“最佳”方式的明显原因是什么?
为了澄清一下,我们的应用程序目前在单个服务器上运行。我这样做的主要动机是使Session能够在IIS重新启动时保持不变,从而为用户提供更高的可靠性。
答案 0 :(得分:4)
您可以使用 StateServer 模式。
StateServer模式将进程中的会话状态存储为ASP.NET状态服务,该进程与ASP.NET辅助进程或IIS应用程序池分开。
使用此模式可确保在重新启动Web应用程序时保留会话状态,并使会话状态可用于Web场中的多个Web服务器。
的更多信息答案 1 :(得分:1)
设置SQL会话状态服务器只需几分钟(假设您已运行SQL服务器)。我无法想象你能在更短的时间内写出任何东西,至少可以尝试已经存在的东西,并且是免费的并且得到MS的支持。
经过验证的内置/现成解决方案总是比定制更好的起点。您可能仍然可以使用自定义解决方案,但不要选择它,因为您没有费心去测试已经可用的内容。