2016-04-01 3 views
17

ASP.NET 4では、これはアプリケーションのRegisterRoutesハンドラでroutes.LowercaseUrls = true;と同じくらい簡単でした。ASP.NET Core MVC 6ではどのように小文字のルーティングを実施しますか?

これを達成するために、ASP.NET Core MVC6で同等のものを見つけることができません。私はそれがここにいるだろうと思うだろう:

configureRoutes
app.UseMvc(configureRoutes => 
{ 
    configureRoutes.MapRoute("Default", "{controller=App}/{action=Index}/{id?}"); 
}); 

が、何もそれを許可する...拡張メソッドは、私はおそらくドキュメントで見つけることができないことをどこかでない限り見えますか?

答えて

54

Microsoft.AspNet.Routing、およびMicrosoft.Extensions.DependencyInjection名前空間、あなたのConfigureServices(IServiceCollection services)方法でこれを行うことができます

ConfigureServices方法に次の行を追加します。 Startupクラス。

services.AddRouting(options => options.LowercaseUrls = true); 

解答のためのコメントとして、Skorunkaに感謝します。私はそれが実際の答えに昇進する価値があると思った。

+8

実際に 'AddMvc()'をあなたの 'Startup.ConfigureServices()'メソッド。 AddMvc()によって呼び出される 'AddRouting()'は、サービスコレクションに依存関係を追加するメソッドの 'Try'バリアントを使います。したがって、ルーティング依存関係が既に追加されていることがわかると、 'AddMvc()'設定ロジックのその部分をスキップします。 –

+0

私はasp 4がコアに移行していたので、これを正解に変更しました。 – mariocatch

11

解決策が見つかりました。アセンブリで

:ASP.NETコアの

services.ConfigureRouting(setupAction => 
{ 
    setupAction.LowercaseUrls = true; 
}); 
+13

: \t \t \t services.AddRouting(オプション=> \t \t \t {; \t \t \t真 \t \t \t \t options.LowercaseUrls =})。 –

+0

Microsoft.Extensions.DependencyInjection in Microsoft.AspNetCore.Routing.dll –

+2

これはRTMの前に当てはまりましたが、.ConfigureRoutingの代わりに.AddRoutingを使用する必要があります。 –

7

他の回答を追加し、指示通り:

services.Configure<RouteOptions>(options => options.LowercaseUrls = true); 

services.AddMvc(...) 

は素晴らしい作品が、私はまた、あなたがアイデンティティを使用している場合、あなたも必要となることを追加する前に:

services.AddIdentity<IdentityUser, IdentityRole>(options => 
{ 
    var appCookie = options.Cookies.ApplicationCookie; 
    appCookie.LoginPath = appCookie.LoginPath.ToString().ToLowerInvariant(); 
    appCookie.LogoutPath = appCookie.LogoutPath.ToString().ToLowerInvariant(); 
    appCookie.ReturnUrlParameter = appCookie.ReturnUrlParameter.ToString().ToLowerInvariant(); 
}); 

明らかに、IdentityUserIdentityRoleの両方を自分のクラスに置き換えてください必要であればs。

.NET Core SDK 1.0.4と1.0.5ランタイムでこれをテストしました。 ASP NET MVCコアの

関連する問題