пользовательский обработчик не вызывается, когда файлы не существуют .net mvc 3 IIS 7.5

#asp.net-mvc-3 #redirect #iis-7.5 #handler #http-status-code-301

#asp.net-mvc-3 #перенаправление #iis-7.5 #обработчик #http-status-code-301

Вопрос:

Я только что настроил пользовательский обработчик для перенаправления с ответом 301 для некоторых старых ссылок на страницы coldfusion, которые у меня есть на моем новом сайте mvc 3. Проблема в том, что мне действительно нужно иметь файлы .cfm на сервере, чтобы обработчик вступил в силу. Если их там нет, мой элемент customerrors берет верх и выполняет перенаправление 404…когда файлы есть, работает как персик. Моя проблема в том, что мне нужно было бы создать загрузочную загрузку пустых файлов, чтобы обработчик мог их захватить, и я бы хотел, чтобы он просто работал без физического наличия файла на компьютере.

…. возможно ли это? Всегда ли элемент customerrors имеет приоритет? Есть ли способ переопределить это?

вот мой узел обработчика:

 <add name="ColdFusionRedirect" path="*.cfm" verb="*" type="MySite.Services.ColdFusionRedirect, MySite" resourceType="Unspecified" />
  

Редактировать: оказывается, это не узел customErrors, который берет верх, мой обработчик просто не работает, когда файла нет…Я все еще получаю 404s. Как я могу вызвать этот пользовательский обработчик, даже если файлы не существуют?

Ответ №1:

Вы хотите добавить это в свой метод global.asax RegisterRoutes:

маршруты.IgnoreRoute(«{resource}.cfm/{*pathInfo}»);