首页 / ASP.NET Core / 正文

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

3491 发布于: 2018-02-11 读完约需4分钟

问题描述

如题,在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 Razor Pages系列教程]ASP.NET Core Razor Pages Web应用程序的目录结构解析(02)

下一篇: [.NET].NET/C#程序开发中使用LINQ如何修改集合List<T>中的所有元素的属性值?

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

分享扩散:

发表评论

登录用户才能发表评论, 请 登 录 或者 注册