I wrote a simple code in Asp.net. Adding Scoped service to builder generates this error:
System.InvalidOperationException
HResult=0x80131509
Message=Cannot resolve scoped service 'tasks.IMyLogger' from root provider.
Source=Microsoft.Extensions.DependencyInjection
My code is trivial:
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddScoped<IMyLogger,ConsoleLogger>();
var app = builder.Build();
app.UseMiddleware<LogMiddleware>();
app.Run();
My Middleaware:
public class LogMiddleware
{
private readonly RequestDelegate _next;
private readonly IMyLogger _logger;
public LogMiddleware(RequestDelegate next, IMyLogger logger)
{
_next = next;
_logger = logger;
}
public Task Invoke(HttpContext httpContext)
{
_logger.Info("In Logger MiddleWare");
return _next(httpContext);
}
}
If I Try to add the service as singleton It works just fine.
I would love your assistance.