Using ASP.NET Core 3.1 I am adding a SitemapMiddleware on Startup's Configure method:
public void Configure(IApplicationBuilder builder, IWebHostEnvironment environment) {
builder.UseSitemap();
}
Where the UseSitemap extension is:
public static class SitemapMiddlewareExtensions {
public static IApplicationBuilder UseSitemap(this IApplicationBuilder builder) {
return builder.MapWhen(x => x.Request.Path.StartsWithSegments("/sitemap.xml"),
x => x.UseMiddleware<SitemapMiddleware>(route));
}
}
But the middleware uses an ISitemapService which I need to register as:
services.AddScoped<ISitemapService, SitemapService>();
How can I do this inside the method UseSitemap?
Or maybe create an IServicesCollection extension to use in Startup's ConfigureServices that registers the SitemapService?