У меня нет пользовательских маршрутов в моем приложении, только один по умолчанию. Если я пытаюсь открыть localhost/myapp/controller/action/bla.bla
, он отлично работает на моей машине (Windows 7 x32, Cassini и IIS), но на сервере происходит сбой (2008 R2 x64). Нашел похожий вопрос , но решение не работает. Кроме того, нашел эту статью , где Эйлон говорит, что это специальный символ для MVC, и это "по замыслу". Почему между моей машиной и производственной коробкой есть разница, и как я могу это исправить?
Обновление : на проблемном сайте включены ExtensionlessUrl-ISAPI-4.0_64bit и ExtensionlessUrl-Integrated-4.0, сопоставленные с «*.». В web.config нет никаких управляемых обработчиков. Патч, упомянутый Дмитрием, "не применим к вашему компьютеру", вероятно, потому что он уже установлен с SP1. Я могу подтвердить, что 404 сообщается обратно ASP.NET MVC, а не IIS, потому что я вижу запрос в Application_PreSendRequestHeaders. Более того, если я присоединяю потомка MvcRouteHandler с перегруженным GetHttpHandler (), который регистрирует все RouteData, это показывает, что «id» правильно сопоставлен с «bla.bla». Есть идеи?