Asp classic 基于会话的购物车遭到重击

Asp classic 基于会话的购物车遭到重击,asp-classic,iis-7,session-cookies,shopping-cart,windows-server-2012,Asp Classic,Iis 7,Session Cookies,Shopping Cart,Windows Server 2012,我们有几个电子商务网站与经典的ASP。我们的客户抱怨说,他们的购物车没有明显的原因就被清空了,他们在网站上快速移动 我们的购物车使用客户的sessionid,并将其项目存储在数据库的shoppingcart表中。我怀疑正在发生的是sessionid正在更改,因此,shoppingcart表中没有该新sessionid的项目记录 这是在Windows 2012 server/IIS7上,并且ASP->会话属性->会话属性->安全连接上的新ID设置为False 显然,IIS7有时会重置session

我们有几个电子商务网站与经典的ASP。我们的客户抱怨说,他们的购物车没有明显的原因就被清空了,他们在网站上快速移动

我们的购物车使用客户的sessionid,并将其项目存储在数据库的shoppingcart表中。我怀疑正在发生的是sessionid正在更改,因此,shoppingcart表中没有该新sessionid的项目记录

这是在Windows 2012 server/IIS7上,并且
ASP
->
会话属性
->
会话属性
->
安全连接上的新ID
设置为
False

显然,IIS7有时会重置sessionID并杀死cart。当有人把很多东西放进购物车时,这种情况会更频繁发生,因此,更多地接触到这个问题

有没有更好的方法来处理购物车?例如,我是否最好在他们的浏览器中放置一个具有唯一标识符的cookie,然后使用它而不是sessionID来保留客户的购物车


Cookie有时也会被撞坏——不确定转向哪个方向,在树林中迷失了方向。

检查应用程序池回收设置,即使您将会话超时设置为20分钟,应用程序池中的各种设置也会覆盖此设置。您不必使用会话。如果要将项目存储在表中,那么请使用订单的head记录中的键。当然,你必须把它从一页传到另一页。老实说,我尽可能避免会话或应用程序级存储,这几乎总是不可避免的。使用您自己的密钥和标识符,您将始终能够更好地控制IMOI。我在此处提供了一些有关如何处理此问题的建议-。在IIS应用程序池设置中使用“最大工作进程”>1时,我可能会重复此行为。会话将随机丢失,在服务器负载增加的情况下更是如此。