I have two middleware in my asp.net core application. One middleware need to resister in service and other one don't need. Here is the code below:
1.
public class RequestMiddleware
{
private readonly RequestDelegate _next;
public RequestMiddleware(RequestDelegate next)
{
_next = next;
}
public async Task InvokeAsync(HttpContext httpContext, IWebHostEnvironment env)
{
try
{
await _next(httpContext);
}
catch (Exception ex)
{
// codes
}
}
}
// I use this middleware in startup
app.UseMiddleware<RequestMiddleware>();
2.
public class SampleMiddleware : IMiddleware
{
public Task InvokeAsync(HttpContext context, RequestDelegate next)
{
//codes
}
}
public void ConfigureServices(IServiceCollection services)
{
services.AddTransient<AppSampleLogsMiddleware>();
}
app.UseMiddleware<AppSampleLogsMiddleware>();
why second middleware need to register in ConfigureServices but first middleware don't need to register ? what is the different?