Сервер слишком занят в vs2012 - программирование
Подтвердить что ты не робот

Сервер слишком занят в vs2012

У меня vs2010 и vs2012 установлены бок о бок. Если я открою наш сайт MVC в vs2010 и запустил его с помощью веб-сервера разработки, он отлично работает, если я сделаю то же самое в vs2012, я получаю "Server Too Busy" каждый раз для первого запроса на сайт. Каждый запрос после первого запроса работает нормально.

Обновление: я заметил, что в vs2012 это происходит только от проекта, который нужно построить. Если я не внес никаких изменений, т.е. Проект не нужно строить, и я попал в F5, чтобы запустить его и открыть IE, он отлично работает, и я не получаю сообщение "Server Too Busy" в браузере.

4b9b3361

Ответ 1

У меня была эта проблема и для моего решения ASP.Net. Для этой проблемы не было решений для или где-либо еще.

Настройка

Visual Studio 2013 (но я думаю, что он будет работать и для vs 2010/2012 ASP.Net для веб-приложений IIS express setup).

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

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

<system.web>
    <httpRuntime maxRequestLength="104850" 
                 executionTimeout="600" 
                 enableVersionHeader="false" 
                 delayNotificationTimeout="20" />
</system.web>

Ответ 2

просто очистить решение , прежде чем создавать. Кроме того, проверьте размер папки, в которой находится решение, до и после чистой сборки; вы наверняка найдете какую-то разницу. Это гарантирует, что вы очищаете или удаляете ненужные DLL, созданные после каждой сборки, что является причиной задержки нормального потока.

Ответ 4

Я, наконец, исправил раздражающее сообщение Server Too Busy от замедления разработки ASP.Net.

В соответствии с замечаниями о httpRuntime.appRequestQueueLimit свойство:

Когда количество запросов в очереди превышает ограничение, налагаемое этим параметром, входящие запросы будут отклонены с ошибкой 503 - Server Too Busy.

Значение по умолчанию - 5000, которое я случайно увеличил до 9000, который работал у меня:

<system.web>
  <httpRuntime appRequestQueueLimit="9000"/>
</system.web>

Если вы хотите проверить этот параметр во время выполнения (а также DelayNotificationTimeout), я добавил следующий код в мое событие Default.aspx.cs Page_Load на основе this Вопрос о переполнении стека:

// Uncomment to debug "Server Too Busy" error message
Configuration config = WebConfigurationManager.OpenWebConfiguration("~");
object o = config.GetSection("system.web/httpRuntime");
HttpRuntimeSection section = o as HttpRuntimeSection;
Response.Write("DelayNotificationTimeout: " + section.DelayNotificationTimeout.ToString() + "<br>");
Response.Write("AppRequestQueueLimit: " + section.AppRequestQueueLimit.ToString() + "<br>");

Ответ 5

** Config.XML - первое место, чтобы начать исследование ** в новой установке Windows Visual Studio 2012. Значения должны быть вручную просмотрены на каждом новом клиентском/серверном приложении

Когда действительно неподходящие ошибки сервера не имеют никакого смысла, подумайте о своих XML файлах тестового компьютера, которые явно задают размеры очереди или пула в корне проекта, как описано в приведенной выше ссылке MS. Очень странно, что сервер будет отвечать "Too Busy", когда он только вы на машине.

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

Что касается запуска VS 2010 и 2012 на той же машине разработки, это должно быть хорошо. Просто проверьте там, где ваши ссылки указывают на DLL приложения.

Ответ 7

В своем проекте → Щелкните правой кнопкой мыши Свойства, затем выберите параметр "Интернет" в левой части экрана в разделе "Серверы". Используйте "Локальный веб-сервер IIS"