2012-04-24 3 views
1

Может ли кто-нибудь сказать мне, что здесь происходит? Я получаю дублированные идентификаторы сеанса через 2 отдельные машины, 2 разных браузера на веб-сайте корзины покупок?Корзина ASP.Net - повторяющиеся идентификаторы сеанса

Я зашел так далеко, генерируя новый идентификатор сессии с 300 символов случайной строки, и все они получают дублируется

Это новый код ... просто вынуть SyncLock материал для старого кода :

Dim _key As String = String.Empty 
    SyncLock _locker 
     _key = Guid.NewGuid().ToString() 
     Session("Identifier") = Validations.GeneratePassword(150, 300) 
     Session("SessionID") = _key 
     Session("SiteID") = "F2630237-E355-4C8A-947E-BBAC97ECA550" 
     Session("HomePage") = 13 
    End SyncLock 

да, я знаю Session («SessionID») не идентификатор сеанса, однако, мы привыкли использовать Session.SessionID для «идентификатор», и он получал дублируется

+0

Вы сгенерировали сеанс самостоятельно? Можете ли вы опубликовать код, который генерирует сеанс? – Steven

+0

Вам нужно будет опубликовать код, чтобы мы могли видеть, что делает ваш код! Как хранится идентификатор сеанса? – Tim

+0

используется для использования встроенного Session.SessionID, однако это случилось с – Kevin

ответ

0

Я нашел решение этой проблемы.

если я установить менеджер сеансов в web.config, чтобы быть мой класс, и он работал

<sessionState mode="InProc" cookieless="false" timeout="20" sessionIDManagerType="o7th.Projects.Core.SessionManager"/> 
2

Почему бы вам создать свой собственный SessionID?
ASP.NET и браузер сделать это из коробки и, вероятно, лучше, чем вы или я

Я рекомендую вам использовать вместо этого:

HttpSessionState.SessionID

+0

, которые мы использовали используйте Session.SessionID как идентификатор для «корзины». Но мы начали получать дубликаты между машинами, поэтому мы пошли с созданием случайной длины, случайной буквенно-цифровой строки, и все равно это происходит – Kevin

+0

Я искал эту проблему, и, похоже, я вижу, что я не только один ... – Kevin

+0

Случайный не обязательно уникален. – jrummell

1

Я скорее делает другой подход

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

Я думаю, что генераторы случайных чисел нельзя доверять

Смежные вопросы