1-й пост на StackOverflow, надеется иметь большую обратную связь :)asp.net, StateServer, NLB, сессия потеряла
Я в настоящее время пытаюсь балансировать нагрузку на наш сайт. Мы создали кластер NLB на сервере Windows 2003 с IIS 6.
При тестировании установки я обнаружил, что иногда наша сессия теряется. Спустя полтора дня, вот результат:
- Да, наш machine.config имеет одинаковый ключ шифрования/дешифрования.
- Да, id в iis metabase.xml одинаковы для обеих машин. Фактически, весь файл один и тот же, за исключением «AdminACL».
- Оба веб-приложения устанавливаются с помощью «StateServer» и оба указывают на один и тот же компьютер.
С этого момента поиск в google дает меньше информации и возможных решений.
Из того, что я знаю, нет конкретной модели, которая может вызвать эту проблему. Это случается раз в то время.
При попытке найти проблему, я видел, что запрос отправил куки-файл сеанса asp session на сервер, но сервер не привязал его к сеансу пользователя.
Таким образом, номер запроса x был отправлен от клиента, с файлом cookie, сеанс был отображен, и все прошло гладко. Номер запроса x + 1 был отправлен от клиента с файлом cookie, но сеанс не найден.
Оба запроса были сделаны на одной машине в NLB.
Вот отрывок из осины Trace.axd:
первый запрос:
Запрос детали Id Session: j2ffvy45updpc52uhw1mbg55 Тип запроса: GET Время запроса: 11/26/2008 2:58: 6 вечера Код состояния: 200 Запрос Кодировка: Unicode (UTF-8) Кодирование Ответ: Unicode (UTF-8)
Запрос Печенье Коллекция
Название Значение Размер
ASP.NET_SessionId j2ffvy45updpc52uhw1mbg55 42 AID 22 9
Response Печенье Коллекция
Наименование Значение Размер
Headers Коллекция
Название Значение
Cookie ASP.NET_SessionId = j2ffvy45updpc52uhw1mbg55; AID = 22
второй запрос:
Запросить информацию Id Session: Тип запроса: POST Время запроса: 11/26/2008 2:58:08 PM Статус Код:
Запрос Кодировка: (UTF-8) Ответ Кодировка:
Заказать Печенье Коллекция
Наименование Значение Размер
Response Печенье Коллекция
Наименование Значение Размер
Заголовки Коллекция Имя Значение Cookie ASP.NET_SessionId = j2ffvy45updpc52uhw1mbg55; AID = 22
Как вы можете видеть во втором запросе, cookie отправляется от клиента, но asp, кажется, никогда не добавляет файлы cookie в его «Cookie Cookie Collection». Я думаю, поэтому он не находит сессию.
Итак, почему cookie не отображается на сеанс? Это проблема? Проблема в другом месте?
Не стесняйтесь спрашивать о других предупреждениях.
Благодарим вас за отзыв.
JF