StateServer для сохранения сеанса
Мы собираемся обновить наше приложение asp.net, чтобы сохранить сессию на сервере состояний. Нужно ли внимание, чтобы избежать проблем после обновления?
Он будет работать в IIS 6 и IIS 7.
Спасибо, П.Гопалакришнан
3 ответа
Я полагаю, что StateServer обеспечит выполнение требования о том, что все объекты, хранящиеся в Session, должны быть сериализуемыми. Это, возможно, не было выполнено InProc.
Обязательно протестируйте, прежде чем идти в производство.
Не пытался это сделать на IIS7, но на IIS6 это был просто случай изменения файла web.config для указания сервера состояний. Джон Сондерс, тем не менее, прав в вопросе сериализации выше, думаю, мне просто повезло, но я буду менять всю свою разработку на использование State Server в будущем, как рекомендует Брайан Рейтер.
Одним приятным побочным эффектом является то, что вы можете увеличить число рабочих процессов при использовании сервера состояний, поскольку все они могут совместно использовать состояние с сервера (тогда как обычно это состояние находится в процессе).
Примечание от MSDN:
Чтобы использовать режим StateServer в веб-ферме, у вас должны быть одинаковые ключи шифрования, указанные в элементе machineKey вашей веб-конфигурации, для всех приложений, входящих в веб-ферму. Сведения о том, как создавать ключи компьютеров, см. В статье 313091 "Как создавать ключи с помощью Visual Basic .NET для использования при проверке подлинности с помощью форм" в базе знаний Майкрософт по адресу http://support.microsoft.com/.
Необходимо убедиться, что объекты, которые вы в данный момент храните в состоянии сеанса, помечены как сериализуемые. Рефакторинг может быть значительным