在一个 ASP.NET Core 10 项目中,Program.cs 中下面的代码:
app.UseEndpoints(RouteConfig.Build);
出现编译警告:
ASP0014: Suggest using top level route registrations
请问如果如何消除这个警告?
RouteConfig 对应的实现代码
public static class RouteConfig
{
public static void Build(IEndpointRouteBuilder routes)
{
routes.MapControllerRoute("FeedDefault", string.Empty, new { controller = "Feed", action = "Index" });
// ...
}
}
Program 中的 app 类型是 WebApplication,已经实现了 IEndpointRouteBuilder 接口
public sealed class WebApplication : IHost, IApplicationBuilder, IEndpointRouteBuilder, IAsyncDisposable
{
// ...
}
直接通过 WebApplication 配置路由即可解决
app.ConfigureRoutes();
RouteConfig.Build 重构为 ConfigureRoutes 扩展方法
public static class RouteConfig
{
extension(IEndpointRouteBuilder routes)
{
public IEndpointRouteBuilder ConfigureRoutes()
{
routes.MapControllerRoute(
"FeedDefault",
string.Empty,
new { controller = "Feed", action = "Index" });
return routes;
}
}
}
我还是第一次晓得 .net core 里面还有这个