Приложение ASP.NET для обслуживания нескольких запросов от одного процесса

В настоящее время я отлаживаю некоторые проблемы по этому поводу.

У нас есть веб-приложение ASP.NET, и я отлаживаю на Cassini. Когда я попытался использовать IE и отправить запрос на сервер, потребовалось некоторое время (например, около 20 минут), чтобы обработать и затем отправить ответ.

В случае IE с несколькими вкладками я пытался отправлять запросы на разных вкладках примерно в одно и то же время на один и тот же сервер, но ответ обрабатывается только после того, как один из ответов отослан.

Если запускается новый экземпляр IE и запросы отправляются в этих разных экземплярах, сервер может обрабатывать и отправлять ответ почти одновременно. После некоторых исследований я обнаружил, что IIS express может решить мою проблему, но я не могу. Кто-нибудь сталкивался с подобной проблемой, или я пропустил некоторые действительно важные вещи, чтобы проверить сначала?

Спасибо за помощь.

Ответы на вопрос(3)

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

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

et и того факта, что только один запрос за раз может иметь R / W-доступ к конкретному сеансу (как определено файлом cookie SessionID).

Любые дополнительные запросы, требующие какой-либо формы доступа к сеансу (поскольку чтение / запись по умолчанию) будут блокироваться до тех пор, пока предыдущий запрос не будет завершен.

На основании следующих ссылок:

http://johnculviner.com/asp-net-concurrent-ajax-requests-and-session-state-blocking/ https://msdn.microsoft.com/en-us/library/ms178581.aspx?f=255&MSPPError=-2147217396

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

Читайте об этом и почему: Полная замена сессии ASP.Net

Также :Веб-приложение заблокировано при обработке другого веб-приложения при совместном использовании того же сеанса

 redcomethk06 июн. 2012 г., 13:22
Хорошо, позвольте мне проверить ссылки, чтобы увидеть, если моя проблема может быть решена. Большое спасибо!
 06 июн. 2012 г., 13:41
@redcomethk Там не проблема, это то, как работает сессия, а решают и другие проблемы синхронизации. Если вы хотите избежать этого, вам нужно отключить сессию или не использовать ее, по крайней мере, для страницы, которая длится более нескольких секунд. Или сделайте совершенно индивидуальный сеанс (это то, что я делаю) и обрабатывайте данные, как вам нравится.

Ваш ответ на вопрос