如何解决如何合并对IEndpointRouteBuilder的多个委托调用?
在我拥有的代码中的一处
app.UseEndpoints(endpoints =>
{
endpoints.MapOneDefaultEndpoints()
endpoints.MapAnotherDefaultEndpoint()
}
在我想要的创业公司中
app.UseEndpoints(endpoints =>
{
endpoints.MapOneCustomEndpoint()
endpoints.MapAnotherCustomEndpoint()
}
原因是我要隐藏默认端点配置,以便仅需要配置自定义端点。有没有办法建立例如List<Action<IEndpointRouteBuilder>>
,然后将其传递给默认配置?
解决方法
所以我想我已经找到了一个解决方案,看起来像
public virtual void Configure(IApplicationBuilder app)
{
var customEndpoints = new List<Action<IEndpointRouteBuilder>>
{
e => e.MapOneDefaultEndpoints(),e => e.MapAnotherDefaultEndpoint(),};
app.UseCustomServices(customEndpoints: customEndpoints);
}
在我的UseCustomServices
中,添加其余的端点
public static IApplicationBuilder UseCustomServices(this IApplicationBuilder app,List<Action<IEndpointRouteBuilder>> customEndpoints)
{
customEndpoints.Add(e => e.MapOneDefaultEndpoints());
customEndpoints.Add(e => e.MapAnotherCustomEndpoint());
// Register whole list of endpoints
app.UseEndpoints(endpoints =>
{
customEndpoints.ForEach(ce => ce(endpoints));
});
return app;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。