2013-04-24 4 views
0

Strange - Session - Inproc - режим использования имени cookie asp_net идентификатор сеанса, тайм-аут 20, общий доступ к клиентам, не уверен !!! сеанс должен быть уникальным для каждого клиента, но он был разделен между клиентами!Сегмент корзины покупок, специфичный для экземпляра

В моем приложении asp.net сеанс корзины покупок разделялся между запросами, а не уверен, как это произошло, оно должно отличаться от конкретного запроса, каждый запрос в IIS должен иметь каждый сеанс, но все запросы в IIS является разделялась этого session`public класса 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() { } 

} `

действительно нужно знать исправление как можно быстрее, хотя одноплодной реализация делается.

ответ

0

У вас есть одноэлементный класс, определенный, и вы назначаете его на каждый сеанс. Конечно, он будет использовать тот же самый.

Это действительно похоже, что PODCart не должен быть одноэлементным.

+0

Но, элементы корзины, хранящиеся в сеансе, используются на всех клиентах? Это изменение также не позволяет решить проблему. Элементы корзины распределены между клиентами, на самом деле не каждый клиент должен иметь каждый экземпляр тележки. Не уверен !! – Jay

+0

Статический Singleton является общим для сеанса сайта, это не проблема с сеансом. Спасибо, что указали его. – Jay