ASP.NET SQL SessionState还是自定义解决方案?

时间:2012-03-21 14:12:55

标签: asp.net session-state

ASP.NET SQL SessionState提供程序似乎超出了我的要求。 SQL Server必须“配置”才能支持它,我对它的优化程度有疑问(即,是否有一个db命中来获取整个会话,或者每个会话项请求一个?)。

我认为我可以非常轻松地实现自定义解决方案,我会理解并轻松地重新部署到其他项目。有什么基本的东西我没有在这里考虑过,并且内置的SessionState处理程序是“最佳”方式的明显原因是什么?

为了澄清一下,我们的应用程序目前在单个服务器上运行。我这样做的主要动机是使Session能够在IIS重新启动时保持不变,从而为用户提供更高的可靠性。

2 个答案:

答案 0 :(得分:4)

您可以使用 StateServer 模式。

StateServer模式将进程中的会话状态存储为ASP.NET状态服务,该进程与ASP.NET辅助进程或IIS应用程序池分开。

使用此模式可确保在重新启动Web应用程序时保留会话状态,并使会话状态可用于Web场中的多个Web服务器。

http://msdn.microsoft.com/en-us/library/ms178586.aspx

的更多信息

答案 1 :(得分:1)

设置SQL会话状态服务器只需几分钟(假设您已运行SQL服务器)。我无法想象你能在更短的时间内写出任何东西,至少可以尝试已经存在的东西,并且是免费的并且得到MS的支持。

经过验证的内置/现成解决方案总是比定制更好的起点。您可能仍然可以使用自定义解决方案,但不要选择它,因为您没有费心去测试已经可用的内容。