一、新配置路由策略
在 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(); //}); }
更多:
