2010-03-09 2 views
1

У меня есть следующая проблема.значение сеанса доступа при одновременных запросах

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

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

UPDATE:

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

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

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

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

Это похоже на ту же проблему, о которой я задал в этом вопросе: http://stackoverflow.com/questions/5749532 –

ответ

0

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

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

+0

@stalkerh Я обновил вопрос – developer