ASP.NET Core
Gabarito: letra E. O ASP.NET Core possui suporte nativo a Injeção de Dependência (DI) por meio de um contêiner de serviços interno, o IServiceProvider, onde as dependências são registradas (normalmente na Startup ou Program). As demais alternativas contêm afirmações falsas ou trocam conceitos importantes.
Alternativa A — ❌ Incorreta
Afirma que o ASP.NET Core não oferece suporte para serviços RPC. Na verdade, o ASP.NET Core suporta gRPC, um framework RPC moderno e de alto desempenho (além de outros protocolos RPC via SignalR ou WebSockets).
Alternativa B — ❌ Incorreta
Define o Razor como um framework front-end baseado em componentes. Na realidade, Razor é uma engine de templates (sintaxe de marcação) que combina C# com HTML. O framework baseado em componentes que suporta renderização servidor e cliente é o Blazor. A banca troca os papéis.
Alternativa C — ❌ Incorreta
Declara que o ASP.NET 4.x possui desempenho superior ao ASP.NET Core. É o oposto: o ASP.NET Core foi projetado para ser mais rápido e eficiente que seu antecessor, com menor consumo de memória e maior throughput.
Alternativa D — ❌ Incorreta
A classe HttpRequest realmente encapsula informações da requisição HTTP de entrada e, em sua maioria, é somente leitura (propriedades como Path, Query, Headers são get-only). Entretanto, a banca considera a alternativa incorreta porque, em cenários específicos (middleware), é possível substituir o corpo da requisição ou manipular alguns aspectos via HttpContext. A redação "permite somente leitura" é demasiado absoluta para a realidade do ASP.NET Core.
Alternativa E — ✅ Correta ⟵ GABARITO
O ASP.NET Core possui um sistema de Injeção de Dependência embutido. As dependências são registradas em um IServiceCollection (na prática, no Program.cs ou Startup.cs) e resolvidas através do contêiner IServiceProvider. A afirmação está de acordo com a documentação oficial da Microsoft e com as práticas padrão do framework.
Gabarito: letra E.