Использование IIS для локального ASP.NET веб-приложения очень медленно перестраивается - PullRequest
2 голосов
/ 23 апреля 2010

Мы используем IIS для размещения наших приложений Visual Studio 2008 (ASP.NET 2 / 3.5) на локальном хосте, в отличие от Cassini.

Единственная проблема с этим подходом (я использую IIS7 в Windows 7,но проблема также существует в XP с IIS 5.1) заключается в том, что после каждой компиляции IIS занимает 1 целую минуту, чтобы ответить на первый запрос .Я предполагаю, что он выполняет свою собственную компиляцию или что-то в этом роде.

Могу ли я что-нибудь сделать, чтобы ускорить это?

Каждый раз, когда я изменяю код и перекомпилирую, мне нужно подождать минуту.

Пожалуйста, не предлагайте использовать Cassini, меня интересуют ответы о том, как ускорить работу localhost с IIS!

Ответы [ 2 ]

0 голосов
/ 22 августа 2015

Запустите Process Monitor, чтобы увидеть, какие ресурсы (сеть, файл, реестр, потоки) используются, и посмотреть, какие ненужные ресурсы (удаленный https, дорогостоящие чтения файлов) используются

У меня была похожая проблема. Когда я запустил монитор процесса, я обнаружил, что мой журнал слияния включен, поэтому на диске есть много файлов, что задержало загрузку DLL после отключения журнала слияния в IIS Express, это быстрее.

enter image description here

0 голосов
/ 23 апреля 2010

IIS делает свою собственную компиляцию, когда вы впервые посещаете веб-сайт, и это является причиной этой задержки. Я думаю, что IIS компилируется по требованию, поэтому я удивлен, узнав, что для просмотра первой страницы уходит целая минута.

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

Если это не влияет на время компиляции при первом посещении, вы можете попробовать добавить в процесс сборки шаг, который посещает веб-сайт в фоновом режиме, что приведет к его предварительной компиляции. Это не отменяет время ожидания, но сразу же запускает компиляцию, поэтому сайт становится доступным как можно скорее. Вы можете прочитать о пользовательских этапах сборки на MSDN: http://msdn.microsoft.com/en-us/library/ms366724(VS.80).aspx

Мне интересно узнать, что решает эту проблему.

...