Назад | Перейти на главную страницу

IIS на локальном хосте очень медленный

Я использую IIS7 на двухъядерном процессоре Windows Vista. Первое обращение к службе WCF или веб-форме ASP.NET иногда занимает больше минуты, что для меня неприемлемо.

Я настроил приложение для использования пула приложений Classic .NET и попытался поиграть с Максимум рабочих процессов, сначала установите его на 4, но верните обратно на 1, так как он не дал ожидаемого результата. Есть ли еще что-нибудь, что я могу попробовать?

Проверьте свой файл web.config на наличие режима компиляции. Пока вы разрабатываете, вам следует запустить свой сайт в режиме отладки. Если вы работаете в режиме выпуска, все aspx и ascx будут скомпилированы во временные сборки, а не только страницы и элементы управления, которые вы нажимаете. Также установите для пакета значение false.

<configuration>
    <system.web>
         <compilation debug="true" batch="false" ...>
         ...
         </compilation>
    ...
    </system.web>
    ...

Конечно, это не рекомендуется для производственной среды, которая будет замедлена этими изменениями.


Также проверьте эта ветка форума, где вы можете найти несколько интересных советов, таких как сброс разрешений для папки временных файлов ASP.NET:

У меня была та же проблема, и я сделал все настройки, упомянутые на этом форуме, но это не помогло. Я начал подозревать, что медленная загрузка DLL связана с настройками безопасности. Похоже, что доступ к DLL проходит через проверку безопасности, которая является частью операционной системы, а не частью VIsual Studio. DLL-файлы расположены в каталоге вашего приложения:

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\

Чтобы ускорить проверку безопасности, вам необходимо удалить все настройки безопасности в корневой папке вашего приложения в вышеупомянутом каталоге или в каталоге «Временные файлы ASP.NET», если вы хотите, чтобы они применялись к все разрабатываемые вами веб-приложения.

Вы щелкаете правой кнопкой мыши по папке и выбираете Свойства -> Безопасность.

Удалите всех пользователей и группы. Некоторых нельзя будет удалить, потому что они наследуют свои разрешения от родительской папки. Сначала необходимо удалить наследование, нажав кнопку «Дополнительно», а затем снимите флажок «Наследовать от родителя ...». Затем удалите пользователя или группу. Не должно быть пользователей или групп, у которых флажки для их разрешений неактивны. Если они неактивны, это означает, что вы не удалили наследование от их родителя.

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

Администраторы Пользователи Сетевая служба ASPNET Локальная служба

Дайте каждой из этих учетных записей полное разрешение. Снова нажмите кнопку «Дополнительно» и установите флажок «Заменить записи разрешений для всех дочерних объектов ...»

Это может быть так же просто, как проблема с DNS. Попробуйте использовать 127.0.0.1 вместо localhost при доступе. Если это сработает, просто добавьте 127.0.0.1 в файл hosts и / или всегда получайте доступ через IP-адрес localhost.

Это всего лишь первый раз, когда вы обращаетесь к приложению после его создания? В этом нет ничего необычного, поскольку веб-приложение должно компилировать файлы из DLL и т. Д., И при последующих загрузках оно будет работать быстрее.

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