在.net5/vNext/MVC6中添加新的路由约束

本文关键字:路由 添加 约束 net5 vNext MVC6 | 更新日期: 2023-09-27 18:17:22

在。net 4.5/WebApi 2中,我可以创建一个约束并使用以下代码添加

// add constraint resolvers
var constraintResolver = new DefaultInlineConstraintResolver();
constraintResolver.ConstraintMap.Add("constraintName", typeof(MyCustomConstraint));
// routing
config.MapHttpAttributeRoutes(constraintResolver);

目前在我的Startup.cs文件中,我只有这个

public void Configure(IApplicationBuilder app, IServiceProvider serviceProvider)
    {
        // Enable Mvc for controllers
        app.UseMvc();
        // Enable all static file middleware (serving of static files and default files) EXCEPT directory browsing.
        app.UseFileServer();
    }

但我不知道在哪里做这个在asp.net 5/vNext。有人能帮帮我吗?我在所有控制器上使用属性路由

在.net5/vNext/MVC6中添加新的路由约束

你可以在Startup类的ConfigureServices部分注册。

    public virtual IServiceProvider ConfigureServices(IServiceCollection services)
    {
        services.Configure<RouteOptions>(options =>
                                        options
                                        .ConstraintMap
                                        .Add("constraintName", typeof(MyCustomConstraint)));
    }