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;
- プロジェクトを実行すると、生成されたすべての URL が小文字になっていることがわかります。
- プロジェクトにエリアを追加します。
- プロジェクトを再度実行すると、すべての URL が再び適切なケースになっていることがわかります。
AreaRegistration.RegisterArea で context.MapRoute が実行されるポイントで中断します。それをコメントアウトすると、小文字の URL が表示されました。コメントを外すと、適切な URL が返されます。
Microsoft はこれがバグであることを認識しており、この新機能を宣伝していないように思えます。これは非常に優れた機能ですが、MSDN ドキュメントでのみ言及されているためです。