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操作失效


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM