У нас есть коллекция сайтов .NET, которые размещены на двух эффективно идентичных веб-серверах, с простым распределителем запросов распределения нагрузки между ними. Все работало нормально, пока у нас не возник аппаратный сбой на одном сервере, и мы заменили его. Теперь у нас возникают проблемы с сеансами, поскольку люди выходят из приложений всякий раз, когда балансировщик нагрузки переключает сервер, к которому они подключаются.
Приложения на обоих серверах настроены на использование SQLServer для состояния сеанса и имеют идентичные значения machineKey и sessionState в web.config. например:
<configuration>
<system.web>
<machineKey validationKey="..." decryptionKey="..." validation="SHA1" decryption="AES" />
<sessionState mode="SQLServer" stateNetworkTimeout="30" stateConnectionString="..." allowCustomSqlDatabase="true" sqlConnectionString="..." cookieless="false" timeout="1441" />
</system.web>
</configuration>
Насколько я могу судить, сопряженные приложения также одинаково настроены в IIS: тот же URL, то же имя пула приложений, даже тот же путь на диске.
Однако запрос к одному и тому же сайту на каждом сервере (по IP) создает два уникальных значения SessionID (с тем же именем cookie в браузере).
Есть ли что-то еще, что я должен установить / проверить для генерации соответствующих идентификаторов сеансов на обоих серверах?