ASP.NET会话状态迁移
在我建议我的客户端从30个月升级到80个月之前,我希望有人能验证我的假设 站点:该站点是一个自定义ASP.NET电子商务站点。购物车存储在inproc会话中 问题在像现在这样的旺季,用户经常丢失购物车和表单身份验证登录信息ASP.NET会话状态迁移,asp.net,session-state,Asp.net,Session State,在我建议我的客户端从30个月升级到80个月之前,我希望有人能验证我的假设 站点:该站点是一个自定义ASP.NET电子商务站点。购物车存储在inproc会话中 问题在像现在这样的旺季,用户经常丢失购物车和表单身份验证登录信息 解决方案我想将站点迁移为使用SQL Server会话状态。我的假设是,客户正在丢失他们的购物车,因为InProc会话由于负载而比20分钟超时更频繁地循环使用。将会话移动到SQL Server或会话状态服务器是否允许客户存储他们的购物车会话而无需回收,如果是这样的话,一旦我将会
解决方案我想将站点迁移为使用SQL Server会话状态。我的假设是,客户正在丢失他们的购物车,因为InProc会话由于负载而比20分钟超时更频繁地循环使用。将会话移动到SQL Server或会话状态服务器是否允许客户存储他们的购物车会话而无需回收,如果是这样的话,一旦我将会话超时时间增加到40或60分钟,我就会有任何问题。这些假设对我来说是合理的。可能还需要查看AppPool上的设置,并尝试找出其回收的原因。也许你所需要做的就是更改它们(如果可以的话)。你能给这个盒子添加一些RAM吗?这可能会有所帮助,而且可能比将会话移动到SQL Server更便宜、更简单。当然,这只是一个权宜之计,但如果它能为他们节省50美元/个月的时间,这可能是值得的
您还可以检查代码,查看会话中是否有其他数据保留的时间比需要的时间长。使用SQL会话状态意味着会话应该在IIS的循环中生存(但如果使用在tempdb中创建会话数据库的默认脚本,则不会在SQL Server的循环中生存) Microsoft网站提供了一个脚本,用于创建永久会话状态数据库。我建议改用那个(参见) 所以,基本上回答你的问题。是的,SQL会话状态将有所帮助。您可能还需要考虑使用OPRC状态服务器来测试您的理论。
另外,正如一位同事刚刚提醒我的那样,在迁移之前,确保会话中存储的任何内容都标记为可序列化,否则会遇到问题。我使用的是非常严格的共享主机,升级的原因会将我移动到我自己的个人虚拟专用服务器。