Отладка проблем сервера состояний сеанса ASP.NET

У нас есть приложение, которое работает на экземплярах сервера с балансировкой нагрузки и поэтому настроено на использование службы состояний сеансов ASP.NET, которая работает на одном из наших серверов БД. Хотя оба экземпляра нашего приложения могут успешно подключаться к серверу состояний, изменения в данных состояния сеанса не отражаются в обоих из них. FI, если я позвоню Session.Add('SomeKey', SomeData) на сервере A это не отражается, если я тогда пытаюсь получить доступ Session['SomeKey'] на сервере Б.

Session.SessionID возвращает одинаковое значение на обоих серверах, и я проверил, что они оба используют одинаковые значения ключей валидации и дешифрования, настроенных в разделе machinekey файла machine.config. Я даже пытался указать эти значения в приложениях web.config.

Какие другие вещи я должен искать, которые могут вызывать эти симптомы, и какие шаги люди могут порекомендовать, чтобы помочь отладить эту проблему?

2 ответа

Решение

Помогает ли это:

http://support.microsoft.com/kb/325056?

Чтобы поддерживать состояние сеанса на разных веб-серверах в веб-ферме, путь приложения веб-сайта (например, \LM\W3SVC\2) в метабазе Microsoft Internet Information Services (IIS) должен быть одинаковым для всех веб-сайтов. серверы в веб-ферме. Случай также должен быть таким же, потому что путь к приложению чувствителен к регистру.

В итоге я использовал iiscnfg /copy для выполнения полной копии метабазы ​​IIS с одного сервера на другой, и это решило проблему. Спасибо Э.Дж. Бреннану за то, что он поставил меня на путь к славе.

Другие вопросы по тегам