Маршрут ASP.net игнорируется при указании определенных расширений файлов - PullRequest
2 голосов
/ 31 января 2012

У меня есть настройка маршрута, которая обрабатывает "{Object}/{Operation}/{Name}".

Маршрутизация работает отлично, если я сделаю запрос на: http://localhost/Software/Download/Filenameexe (обратите внимание, что косая черта отсутствуеттребуется, если расширение файла не указано) . Запрос также успешно выполняется, когда я делаю запрос: http://localhost/Software/Download/Filename.exe/ (обратите внимание на конечный слеш) .

Но я получаю 404, когда ясделать запрос на: http://localhost/Software/Download/Filename.exe (на этот раз с расширением файла и без косой черты).

Все прекрасно работает при использовании встроенной разработки Visual Studio 2010 asp.net web-сервер, но когда я запускаю сайт в IIS, он просто выбрасывает 404, если я не добавляю косую черту.

Как сделать механизм маршрутизации ASP.net менее требовательным и принять всепримеров?

  • http://localhost/Software/Download/Filename.exe
  • http://localhost/Software/Download/Filenameexe
  • http://localhost/Software/Download/Filename.exe/

1 Ответ

5 голосов
/ 31 января 2012

Проверьте мой ответ на на этот вопрос , я думаю, вы имеете дело с той же проблемой.Вам может потребоваться указать runAllManagedModulesForAllRequests="true" или добавить обработчик HTTP для файлов .exe, чтобы убедиться, что ASP.NET обрабатывает запросы на файлы .exe.Если ASP.NET не обрабатывает файлы, ваш маршрут не будет выполняться.

...