Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.NET会话状态迁移_Asp.net_Session State - Fatal编程技术网

ASP.NET会话状态迁移

ASP.NET会话状态迁移,asp.net,session-state,Asp.net,Session State,在我建议我的客户端从30个月升级到80个月之前,我希望有人能验证我的假设 站点:该站点是一个自定义ASP.NET电子商务站点。购物车存储在inproc会话中 问题在像现在这样的旺季,用户经常丢失购物车和表单身份验证登录信息 解决方案我想将站点迁移为使用SQL Server会话状态。我的假设是,客户正在丢失他们的购物车,因为InProc会话由于负载而比20分钟超时更频繁地循环使用。将会话移动到SQL Server或会话状态服务器是否允许客户存储他们的购物车会话而无需回收,如果是这样的话,一旦我将会

在我建议我的客户端从30个月升级到80个月之前,我希望有人能验证我的假设

站点:该站点是一个自定义ASP.NET电子商务站点。购物车存储在inproc会话中

问题在像现在这样的旺季,用户经常丢失购物车和表单身份验证登录信息


解决方案我想将站点迁移为使用SQL Server会话状态。我的假设是,客户正在丢失他们的购物车,因为InProc会话由于负载而比20分钟超时更频繁地循环使用。将会话移动到SQL Server或会话状态服务器是否允许客户存储他们的购物车会话而无需回收,如果是这样的话,一旦我将会话超时时间增加到40或60分钟,我就会有任何问题。这些假设对我来说是合理的。可能还需要查看AppPool上的设置,并尝试找出其回收的原因。也许你所需要做的就是更改它们(如果可以的话)。

你能给这个盒子添加一些RAM吗?这可能会有所帮助,而且可能比将会话移动到SQL Server更便宜、更简单。当然,这只是一个权宜之计,但如果它能为他们节省50美元/个月的时间,这可能是值得的


您还可以检查代码,查看会话中是否有其他数据保留的时间比需要的时间长。

使用SQL会话状态意味着会话应该在IIS的循环中生存(但如果使用在tempdb中创建会话数据库的默认脚本,则不会在SQL Server的循环中生存)

Microsoft网站提供了一个脚本,用于创建永久会话状态数据库。我建议改用那个(参见)

所以,基本上回答你的问题。是的,SQL会话状态将有所帮助。您可能还需要考虑使用OPRC状态服务器来测试您的理论。


另外,正如一位同事刚刚提醒我的那样,在迁移之前,确保会话中存储的任何内容都标记为可序列化,否则会遇到问题。

我使用的是非常严格的共享主机,升级的原因会将我移动到我自己的个人虚拟专用服务器。