Новое свойство RouteCollection было добавлено .NET Framework 4.5:
http://msdn.microsoft.com/en-us/library/system.web.routing.routecollection.lowercaseurls.aspx
Это отлично работает, пока вы не добавите область в свой проект. Все URL-адреса снова являются правильными.
Любые идеи, почему это происходит? Это легко воспроизвести:
- Создайте новое интернет-приложение MVC 4 (.NET 4.5)
- Запустите функцию RouteConfig.RegisterRoutes с помощью: routes.LowercaseUrls = true;
- Запустите проект, и вы увидите, что все сгенерированные Urls теперь имеют строчные буквы.
- Добавить область в проект.
- Запустите проект еще раз, и вы увидите, что все URL-адреса снова являются правильными!
Он ломается в точке, где context.MapRoute выполняется в AreaRegistration.RegisterArea. Когда я это прокомментирую, я получил строчные буквы. Раскомментируйте его и верните URL-адреса.
Мне кажется, что Microsoft знает, что это ошибка, и не рекламирует эту новую функцию, поскольку это действительно замечательная функция, но она упоминается только в документах MSDN.