[ASP.NET Core]ASP.NET Core Razor Pages或者MVC应用程序中如何将URL路径设置为小写的?

ASP.NET Core 作者: Rector 130阅读 0评论 0收藏 收藏本文

郑重申明:本文未经许可,禁止任何形式转载

问题描述

如题,在ASP.NET Core Razor Pages或者MVC应用程序开发中,如何将路径设置为小写的?
我们知道,在ASP.NET MVC 4或者ASP.NET MVC 5中,可以在RegisterRoutes配置中设置routes.LowercaseUrls = true; 的属性来轻松实现URL路径小写的功能。

但在ASP.NET Core Razor Pages 或者 ASP.NET Core MVC Web应用程序中是没有RegisterRoutes这个选项的,那么在ASP.NET Core的Web应用程序中如何实现这样的功能呢?

方案一

ASP.NET Core(Razor Pages或者MVC)Web应用程序中,是支持设置URL路径为小写的功能的。在程序集 Microsoft.AspNet.RoutingMicrosoft.Extensions.DependencyInjection中,可以在方法ConfigureServices(IServiceCollection services)中。我们需要在Startup.cs启动文件中的ConfigureServices方法中配置如下的选项,如:

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

方案二

方案一是可以实现本文的需求的,即配置:

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

但请注意: 一定要在 services.AddMvc(...)的方法前面添加 services.ConfigureRouting(...) 路由的配置。

当然,如果需要,你还可能配置如下的其他选项,比如Cookie身份认证的选项:

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();
});

阅读了该文章的人还浏览了...

本文永久链接图享网 » [ASP.NET Core]ASP.NET Core Razor Pages或者MVC应用程序中如何将URL路径设置为小写的?

发布于: 2018-02-11 16:46:32
分享扩散:

文章评论

获取验证码