Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Erro serviço retornando como null

Ao implementar o serviço catalogo me da um erro nullo Insira aqui a descrição dessa imagem para ajudar na acessibilidade

public class Startup { // This method gets called by the runtime. Use this method to add services to the container. // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940 public void ConfigureServices(IServiceCollection services) { services.AddTransient<ICatalogo, Catalogo>(); }

    // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
    public void Configure(IApplicationBuilder app, IWebHostEnvironment env, IServiceProvider serviceProvider)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }
        ICatalogo catalogo = serviceProvider.GetService<Catalogo>();
        IRelatorio relatorio = new Relatorio(catalogo);


        app.UseRouting();

        app.UseEndpoints(endpoints =>
        {

            endpoints.MapGet("/", async context => 
            {
                await relatorio.Imprimir(context);
            });
        });
    }
}

Como eu resolvo isso?
2 respostas
solução!

Achei o problema Fiz assim public void ConfigureServices(IServiceCollection services) { services.AddTransient<ICatalogo, Catalogo>(); }

    // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
    public void Configure(IApplicationBuilder app, IWebHostEnvironment env, IServiceProvider serviceProvider)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }
        ICatalogo catalogo = serviceProvider.GetService<ICatalogo>();
        IRelatorio relatorio = new Relatorio((Catalogo)catalogo);


        app.UseRouting();

        app.UseEndpoints(endpoints =>
        {

            endpoints.MapGet("/", async context => 
            {
                await relatorio.Imprimir(context);
            });
        });
    }

Usei a conversão direta, e no .GetService tinha duas opções usei a que estava com pedindo o tipo

Bom dia Jonatas, tudo blz!

Que bom que conseguiu resolver e compartilhou com a nossa comunidade a sua solução, pode ter certeza que será útil para mais pessoas! Parabéns e obrigado!

Att.