Asp.net 特定于实例的购物车会话
奇怪-会话-输入过程-模式使用cookies名称asp\U网络会话id,超时20,在客户端之间共享,不确定!!!会话对于每个客户端都应该是唯一的,但是它已经在客户端之间共享了 在我的asp.net应用程序中,购物车会话已在请求之间共享,但不确定是如何发生的,它应因请求而异,IIS中的每个请求都应具有每个会话,但IIS中的所有请求均由此会话“公共类PODCart”共享 {Asp.net 特定于实例的购物车会话,asp.net,c#-4.0,shopping-cart,Asp.net,C# 4.0,Shopping Cart,奇怪-会话-输入过程-模式使用cookies名称asp\U网络会话id,超时20,在客户端之间共享,不确定!!!会话对于每个客户端都应该是唯一的,但是它已经在客户端之间共享了 在我的asp.net应用程序中,购物车会话已在请求之间共享,但不确定是如何发生的,它应因请求而异,IIS中的每个请求都应具有每个会话,但IIS中的所有请求均由此会话“公共类PODCart”共享 { #区域属性 公共列表项{get;private set;} #端区 #区域单例实现 公共静态只读PODCart实例; 静态PO
#区域属性
公共列表项{get;private set;}
#端区
#区域单例实现
公共静态只读PODCart实例;
静态PODCart()
{
if(HttpContext.Current.Session[“C”]==null)
{
实例=新的PODCart();
Instance.Items=newlist();
HttpContext.Current.Session[“C”]=实例;
}
其他的
Instance=(PODCart)HttpContext.Current.Session[“C”];
}
受保护的PODCart(){}
}`
尽管singleton实现已经完成,但您确实需要尽快了解修复方法。您定义了一个singleton类,并将其分配给每个会话。当然,它将使用同一个
看起来PODCart不应该是单身汉 但是,会话中存储的购物车项目已在客户端中使用??此更改也不能解决实际问题。购物车项目在客户端之间共享,实际上不应该是每个客户端都应该有购物车的每个实例。。不确定!!静态单例已在整个站点会话中共享,这不是会话的问题。。谢谢你指点。
#region Properties
public List<PODCartItem> Items { get; private set; }
#endregion
#region Singleton Implementation
public static readonly PODCart Instance;
static PODCart()
{
if (HttpContext.Current.Session["C"] == null)
{
Instance = new PODCart();
Instance.Items = new List<PODCartItem>();
HttpContext.Current.Session["C"] = Instance;
}
else
Instance = (PODCart)HttpContext.Current.Session["C"];
}
protected PODCart() { }