asp.netCore3.0 中使用app.UseMvc() 配置路由

Posted 天马3798

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了asp.netCore3.0 中使用app.UseMvc() 配置路由相关的知识,希望对你有一定的参考价值。

 

一、新配置路由策略 

在 Asp.Net Core 3.0中默认不再支持app.UserMvc() 方式配置路由 系统。

而是使用新的模式,点击查看asp.netCore3.0区域和路由配置变化

 

默认使用的话 会抛出异常:

InvalidOperationException: Endpoint Routing does not support \'IApplicationBuilder.UseMvc(...)\'. 
To use \'IApplicationBuilder.UseMvc\' set \'MvcOptions.EnableEndpointRouting = false\' inside \'ConfigureServices(...).

 

 

二、Asp.Net Core 3.0中 对于app.UseMvc() 还是 支持的。

如果你 习惯了以前配置方式,还是可以使用的。

 

进需要在 配置服务 中 ConfigureServices  增加mvc支持,并且关闭终点路由。 EnableEndpointRouting=false .

示例代码如下:

public void ConfigureServices(IServiceCollection services)
{
    //配置Mvc + json 序列化
    services.AddMvc(options => { options.EnableEndpointRouting = false; })
            .SetCompatibilityVersion(CompatibilityVersion.Version_3_0)
                .AddNewtonsoftJson(options =>
                {
                    options.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;
                    options.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm";
                });
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }
    app.UseStaticFiles();
    app.UseAuthorization();

    app.UseMvc(routes =>
    {
        routes.MapRoute(
                name: "default",
                template: "{controller=Home}/{action=Index}/{id?}");
    });

    //app.UseRouting();
    //app.UseEndpoints(endpoints =>
    //{
    //    endpoints.MapControllers();
    //});
}

 

更多:

asp.netCore3.0区域和路由配置变化

在Asp.Net Core 3.0中如何使用 Newtonsoft.Json 库序列化数据

Asp.Net Core Cookie使用,Asp.net Core Cookie操作失效

以上是关于asp.netCore3.0 中使用app.UseMvc() 配置路由的主要内容,如果未能解决你的问题,请参考以下文章

asp.netcore3.0 netstandard2.1 使用 DbProviderFactories 连接数据库

在 ASP.NET core 3.0 中,当我应用 except() 方法时出现以下异常

在Asp.Net Core 3.0中如何使用 Newtonsoft.Json 库序列化数据

Asp.netCore3.0 WebApi从0到1手摸手教你写【1】简单的webapi接口

Microsoft TeamFoundationServer ExtendedClient 与 Asp.Net Core 3 不兼容

在应用服务环境中安装 ASP.NET CORE 3.0 扩展?