1
resposta

app.Run

boa tarde, Gostaria de saber mais sobre o porque minha aplicação utiliza app.UseEndpoints e a do professor utiliza app.Run, qual a diferença entre os métodos?

Fiquei com duvida também tanto no caso dele quanto no meu o método do app esta assim app.UseEndpoints(endpoints => { endpoints.MapGet("/", async context => { await relatorio.imprimir(context); }); }); o async esta dizendo que o delegate é assíncrono ? ou o método ? não entendi muito bem. Uma ultima duvida é sobre o que de fato é o httpContext não consegui entender muito bem a explicação.

1 resposta

Olá Rafael, tudo certo?

Sentimos muito pela demora em te retornar.

Acredito que a diferença seja por conta da versão do .Net Core a sua deve ser diferente da versão do professor. Sobre o UseEndpoints: Ele define um ponto no pipeline de middleware (manipuladores que são organizados em um pipeline para lidar com solicitações e respostas) em que as decisões de roteamento são feitas e um Endpoint é associado ao HttpContext. Já o Run adiciona um delegate de middleware de terminal ao pipeline de solicitação do aplicativo. O Run é utilizado nas versões antigas do .Net Core.

Sobre MapGet: O nosso método é assíncrono realmente.

Sobre HttpContext: O mesmo encapsula todas as informações específicas de HTTP sobre uma solicitação HTTP individual. Nesta classe, existem diversas propriedades, por exemplo, o User, que obtém ou define o usuário para a solicitação desejada. Caso tenha interesse, recomendo a leitura da documentação, LINK da documentação.

Abraços!