小写网址和尾部斜线

Cur*_*Dev 7 asp.net-mvc asp.net-core-mvc

我正在使用ASP.NET MVC 6,我正在尝试使用小写url和尾随斜杠.

我使用了以下内容:

RouteTable.Routes.LowercaseUrls = true;
RouteTable.Routes.AppendTrailingSlash = true;
Run Code Online (Sandbox Code Playgroud)

但它给出了编译错误.只是想知道MVC 6是否有不同的方法来完成上述操作,或者与我们在MVC5中的操作相同?

Muh*_*eed 22

您现在可以使用AddRouting告诉路由引擎使用小写URL.此代码位于Startup.cs文件中:

public void ConfigureServices(IServiceCollection services)
{
    // ...ommitted code

    services.AddRouting(options =>
    {
        options.AppendTrailingSlash = true;
        options.LowercaseUrls = true;
    });
}
Run Code Online (Sandbox Code Playgroud)


小智 6

从.NET Core 1.0.1开始,实现尾部斜杠和小写URL的正确语法是:

public void ConfigureServices(IServiceCollection services)
{
    // Omitted code
    // ...

    // Configure routing.
    services.Configure<RouteOptions>(options =>
    {
        options.AppendTrailingSlash = true;
        options.LowercaseUrls = true;
    });
}
Run Code Online (Sandbox Code Playgroud)


Eil*_*lon 2

这些 API 尚未从 ASP.NET 4.x(MVC 5.x 及更早版本使用)移植到 ASP.NET 5(MVC 6 使用)。

支持小写 URL 的功能请求记录在此处(尚未解决):https://github.com/aspnet/Routing/issues/140(请注意,它位于路由存储库中,因为这是一项路由功能,并且不特定于 MVC)。