Я спросил об этом в Stack Overflow, но было предложено, чтобы я также спросил об этом здесь, поскольку это может быть связано с IIS:
Если я создаю готовое веб-приложение ASP.NET MVC 3 (непустое, Razor, без модульных тестов) и развертываю его на сайте IIS 7.5 (.NET 4, Integrated Pipeline), каждое действие контроллера я Триггер вызывает массу ошибок «имя не найдено» и «путь не найден» в procmon.
Процесс w3wp.exe пытается посетить места в файловой системе, которые механизм маршрутизации MVC должен выбрать и обработать. Это небольшая часть журнала procmon после однократного щелчка по ссылке «LogOn»:
Это ожидаемое поведение? Мне это кажется неправильным.
Я столкнулся с этим, потому что загрузка ЦП моего сервера была привязана к 100%. Один из моих вызовов происходил достаточно часто (вызывая ошибку «Путь не найден»), что потребляло ресурсов ЦП. Как только я создал папку файловой системы по пути, к которому он пытался получить доступ, загрузка процессора упала до 0%. (~ 85 одновременных пользователей на сайте в обоих случаях).
Это нормально.
Каждый файл просмотра (.cshtml
представляет собой представление Razor с использованием C #) может находиться в нескольких хорошо известных местах (это позволяет использовать несколько механизмов представления в проекте и в общем коде). В первый раз, когда контроллеру требуется представление, его нужно найти.
Повторные запросы для одного и того же представления не должны вызывать дальнейших поисков, но среда выполнения ASP.NET MVC обнаружит обновления: проверьте, что файл (включая сборки проекта) не имеет дат в будущем или что-то вызывает перезапуск AppDomain.