ASP.NET SQL Server сессия с балансировкой нагрузки - PullRequest
2 голосов
/ 30 ноября 2011

Я что-то сделал, но я не знаю, что мне нужно делать дальше.

Я развертываю один и тот же сайт на серверах A и B, который имеет одинаковый домен (http://dev.**.com).

У них тот же machinekey, который я объявил в web.config на сайте.

Состояние сеанса указывает на одну и ту же базу данных ASPState.

Как вы можете видеть на следующем скриншоте, два сайта имеют соответствующие appId и AppName. Это означает, что два сайта не могут совместно использовать сессию.

Может кто-нибудь сказать мне, что мне нужно делать дальше? любая помощь будет оценена.

enter image description here

Нужно ли объявлять имя приложения? Но где я должен это объявить?

Ответы [ 3 ]

2 голосов
/ 30 ноября 2011

Вы можете оформить заказ , следующий за статьей .

1 голос
/ 07 марта 2013

Я бы хотел предложить еще более простое решение, хотя, думаю, я немного опоздал на ужин. :)

Конечно, путь метабазы ​​IIS 7 - это имя приложения, которое вы видите, и идентификатор приложения хэшируется из него. Если два IIS предназначены для совместного использования сеанса, а их имена приложений (пути метабазы) различаются, вы не сможете совместно использовать сеансы. Существует множество рекомендаций по изменению хранимой процедуры, которая генерирует имя, но это кажется мне ужасным взломом. Хотя мне нравится решение Code Project по сохранению хранимых процедур, есть еще более простой способ!

Войдите в диспетчер IIS 7 на каждом веб-сервере. Выберите веб-сайт, который вы хотите поделиться состоянием между IIS. Нажмите Расширенные настройки справа. Введите уникальное значение для ID и используйте одно и то же значение для каждого IIS. Перезапустите каждый веб-сайт, и ваш дядя Боб.

0 голосов
/ 05 декабря 2011

Измените свою хранимую процедуру [TempGetAppID].

пример SET @appName = LOWER (@appName) -> SET @appName = LOWER (APP_NAME ())

APP_NAME () возвращает соединениеИмя приложения."Имя приложения = YourAppName;"установить значение connectionString.

Надеюсь, что это поможет!

...