Некоторые другие ответы немного вводят в заблуждение, поэтому я включу.
Параметром, который управляет этим поведением, является атрибут runAllManagedModulesForAllRequests
, расположенный в разделе configuration\system.webServer\modules
вашего файла Web.config. Каждый шаблон проекта MVC по умолчанию имеет значение true. Вы можете установить его в false, чтобы отключить поведение.
Однако , обратите внимание, что это может заставить ваши маршруты перестать работать. Это связано с тем, что в более ранних версиях IIS этот параметр требовался для работы маршрутизации с URL-адресами без расширений. Без этого параметра IIS обрабатывал такие запросы, как если бы они ссылались на папки и вообще обходил управляемый конвейер. Этот параметр заставляет IIS запускать все управляемые модули для всех запросов (как красноречиво подразумевает название параметра), что дает возможность маршрутизации URL-адреса ответить.
В Windows Server 2008 R2 SP1 (или других ОС, в которых установлена KB980368 ) этот параметр больше не требуется.
Таким образом, в зависимости от конфигурации ваших серверов, вы можете отключить ее, но вам обязательно нужно сначала протестировать, чтобы убедиться, что ваше приложение продолжит работать.