У меня есть веб-приложение aspnet, которое до сих пор работало очень хорошо.
Меня недавно попросили изучить способы увеличения масштаба.
Я обнаружил, что разделение базы данных и Webapp поможет.
Далее мне сказали, что если я изменю свой механизм предоставления сеансов на SQLServer, я смогу дублировать веб-стек на несколько машин, каждый из которых сможет перезвонить на сервер состояний, что позволит лучше распределить нагрузку.
Это звучит логично. Поэтому я создал базу данных ASPState с использованием ASPNet_RegSQL.exe, как описано во многих местах в Интернете, и изменил файл web.config в своем приложении с:
<sessionState mode="InProc" cookieless="false" timeout="20" />
Кому:
<sessionState mode="SQLServer"
sqlConnectionString="Server=SomeSQLServer;user=SomeUser;password=SomePassword"
cookieless="false" timeout="20" />
Затем я обратился к своему приложению, которое показало мне его экран входа в систему, и я должным образом вошел в систему.
Однажды меня представили со страницей, на которой не было страницы, которую я ожидал.
Я могу изменить состояние сеанса назад и вперед. Эта проблема исчезает, а затем возвращается в зависимости от того, какой набор конфигурации я использую.
Почему это происходит?