доступ к значению сеанса во время одновременных запросов - PullRequest
2 голосов
/ 09 марта 2010

У меня следующая проблема.

в одном запросе я обновляю переменную сеанса. в другом запросе я пытаюсь получить доступ к этому значению сеанса, но он был заблокирован до завершения первого запроса.

Я использую C # с ASP.NET 2.0

ОБНОВЛЕНИЕ :

Код моей страницы выглядит следующим образом.

while(int progress = DoWork() && progress <= 100 ){
    Session["Progress"] = progress;
}

и мой обработчик просто возвращает значение сеанса.

context.Response.Write(Session["progress"].toString());
context.Response.End();

1 Ответ

1 голос
/ 09 марта 2010

Вы действительно не должны выполнять параллельные вызовы с ASP.net из-за характера разработки приложений. Это звучит как обычный механизм блокировки, единственное, что вы действительно можете сделать, это обработать блокировку и просто заставить поток ждать, пока другой поток не завершит работу.

Если возможно, опубликуйте некоторый код относительно того, что вы запускаете несколько потоков одновременно, возможно, есть лучший способ сделать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...