У меня четыре разных сервера и балансировщик нагрузки. Я хочу использовать контроль капчи. Я сделал что-то с этим так:
Я создал handler.ashx для создания изображения капчи. Этот обработчик используется на главной странице. Я сохраняю пароль контрольного кода в сеансе при создании контрольного кода. Затем я сравнил пароль, введенный пользователем, с паролем в сеансе. Работает очень хорошо, но только на одном сервере.
Не работает правильно с четырьмя серверами. Хотя пользователь вводит правильный пароль каждый раз, иногда он совпадает с парольным паролем, а иногда не совпадает. Я думаю, что причина проблемы заключается в следующем:
Например:
A, B, C и D - четыре сервера. Балансировщик нагрузки направляет первый запрос к серверу. Который открывает главную страницу с сервера и создает пароль «123456». Это хранится в сеансе на сервере. Затем пользователь набрал пароль и нажал кнопку. Теперь балансировщик нагрузки направляет этот запрос на B-сервер. Поскольку сессия в B Sever пуста, пароли не совпадают.
Мой web.config имеет это,
<sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424"/>
Но это все еще не работает.
Что мне делать?