2015-05-07 7 views
0

я тестирование параллельных запросов с помощью этого кода в тестовой странице:Почему запросы не обрабатываются одновременно?

ASPX разметки:

Request arrived: <asp:Label ID="lblRequestArrived" runat="server" /> <br/> 
Request completed: <asp:Label ID="lblRequestCompleted" runat="server" /> <br/> 

Код Behind:

protected void Page_Load(object sender, EventArgs e) 
{ 
    lblRequestArrived.Text = DateTime.Now.ToString("hh:mm:ss tt"); 
    System.Threading.Thread.Sleep(5000); 
    lblRequestCompleted.Text = DateTime.Now.ToString("hh:mm:ss tt"); 
} 

я открыл 3 вкладки в браузере , вставил URL-адрес на всех вкладках, а затем быстро выполнил запросы (один за другим). Я нашел эти выходы:

Tab1

Request arrived: 10:02:42 AM 
Request completed: 10:02:47 AM 

TAB2

Request arrived: 10:02:47 AM 
Request completed: 10:02:52 AM 

tab3

Request arrived: 10:02:52 AM 
Request completed: 10:02:57 AM 

Могу ли я делать что-то не так? Почему эти запросы сериализуются? Как я могу сделать это одновременно?

[Я проверил его публикацию на IIS слишком (режим освобождения; с EnableSessionState = "False" на странице).]

Update: Я попытался открытием этой страницы в 3 различных браузерах. Но на этот раз он работает одновременно. Теперь, что это значит? Все, что связано с SessionState? Но у меня есть инвалиды.

ответ

0

получил мой ответ здесь: Simultaneous requests to a HTTP Handler not working

это не имеет ничего общего с веб-сервера или приложения, а просто делать с поведением браузера. Похоже, что если вы открываете несколько вкладок и переходите к одному и тому же URL-адресу в браузере, таком как Firefox или Chrome, браузер делает запросы последовательно, то есть он ждет один до , прежде чем делать следующий. Открытие двух браузеров и создание двух запросов в ожидаемом поведении