Чтение переменной сеанса ASP.NET очень медленное (30 секунд)! - PullRequest
1 голос
/ 03 февраля 2012

Отладка медленно выполняемой операции, я обнаружил (к моему удивлению), что строка:

if (HttpContext.Current.Session["CurrentCompany"] == null)

занимает около 30 секунд для выполнения.

Что может случиться !? Кто-нибудь видел что-нибудь подобное раньше?

(он находится в конфигурации с балансировкой нагрузки при хранении сеанса StateServer, это может быть связано?)

1 Ответ

2 голосов
/ 06 февраля 2012

Я нашел обходной путь: я изменил поставщика сеанса в web.config:

из «StateServer» в «InProc»:

<sessionState mode="InProc" cookieless="false" timeout="60"/>

... и пауза ушла.

(Скорее всего, возникли проблемы с подключением к серверу состояний, текущий сервер не там, где он изначально работал).

Спасибо всем вашим предложениям, особенно @Hari и @dougajmcdonald.

.

Задним числом изменить
Это может кому-то помочь позже: основной причиной этой проблемы, кажется, был метод, который сделал огромное количество очень тяжелых SQL-запросов, которые возникли примерно в то же время, что и проблема с сервером состояний. Я думаю, что это связано, не совсем уверен, как. С тех пор у меня были похожие проблемы, поэтому, если у вас возникла такая проблема во время сеанса, посмотрите на интенсивную работу с БД.

...