Ответ 1
Если вы используете сеансы и повторно используете идентификатор сеанса для своих параллельных запросов, ASP.NET будет очереди запросов, потому что для каждого запроса требуется эксклюзивная блокировка сессии.
Взято из http://msdn.microsoft.com/en-us/library/ms178581.aspx
Параллельные запросы и состояние сеанса
Доступ к состоянию сеанса ASP.NET является исключительным за сеанс, что означает что, если два разных пользователя выполняют параллельные запросы, доступ к каждому отдельная сессия предоставляется одновременно. Однако, если два параллельных запросы выполняются для одного сеанса (с использованием того же SessionID значение), первый запрос получает эксклюзивный доступ к сеансу Информация. Второй запрос выполняется только после первого запроса завершено. (Второй сеанс также может получить доступ, если эксклюзивный блокировка информации освобождается, поскольку первый запрос превышает блокировка тайм-аута.) Если значение EnableSessionState на странице @ директива установлена в ReadOnly, запрос сеанса только для чтения информация не приводит к исключительной блокировке данных сеанса. Однако запросы на чтение только для данных сеанса могут все еще ждать для блокировки, установленной запросом на чтение и запись для очистки данных сеанса.