Должны ли действия .NET MVC 3 запускать w3wp.exe для генерации ошибок Process Monitor «PATH NOT FOUND» и «NAME NOT FOUND»? - PullRequest
2 голосов
/ 23 марта 2011

Если я создаю готовое веб-приложение ASP.NET MVC 3 (непустое, Razor, без юнит-тестов) и развертываю его на сайте IIS 7.5 (.NET 4, Integrated Pipeline), каждый действие контроллера, которое я запускаю, вызывает в procmon кучу ошибок «имя не найдено» и «путь не найден».

Процесс w3wp.exe пытается посетить местоположения файловой системы, которые механизм маршрутизации MVC должен подобрать и обработать. Это небольшая часть журнала procmon после однократного нажатия на ссылку «LogOn»:

Process Monitor Output

Это ожидаемое поведение? Мне это не кажется правильным.

Я сталкивался с этим, потому что загрузка ЦП моего сервера была привязана к 100%. Один из моих звонков происходил достаточно часто (вызывая ошибку «путь не найден»), что он загружал процессор. Как только я создал папку файловой системы по пути, к которому пытался получить доступ, загрузка ЦП упала до 0% (~ 85 одновременных пользователей на сайте в обоих случаях).

1 Ответ

1 голос
/ 24 марта 2011

Вы, вероятно, в конфигурации отладки.Когда DEBUG определен, MVC выполняет тонну проверки файлов, чего не делает в конфигурации Release (Release использует файловый кеш, поэтому вы платите только эту стоимость в первый раз).Как правило, всегда следует использовать конфигурацию выпуска для тестирования производительности.

...