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

时间:2015-10-13 11:55:29

标签: c# asp.net .net asp.net-core asp.net-core-mvc

在.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。有人可以帮忙吗?我在所有控制器上使用属性路由

1 个答案:

答案 0 :(得分:3)

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

    public virtual IServiceProvider ConfigureServices(IServiceCollection services)
    {

        services.Configure<RouteOptions>(options =>
                                        options
                                        .ConstraintMap
                                        .Add("constraintName", typeof(MyCustomConstraint)));
    }