Questão de Programação — Frameworks em Programação — FUNDATEC 2025
Programação›Frameworks em Programação
Código
qg474877
Banca
FUNDATEC
Órgão
PROCERGS
Ano
2025
Nível
Superior
Cargo
Analista em Computação / Ênfase em Análise de Sistemas / Gerência de Projetos de TI
Em ASP.NET Core, a Injeção de Dependência é um recurso de primeira classe. Qual é o principal benefício de registrar um serviço com o tempo de vida "Scoped"?
AUma nova instância do serviço é criada a cada vez que ele é solicitado.
BA mesma instância do serviço é usada para todas as requisições durante todo o ciclo de vida da aplicação.
CO serviço é criado apenas em ambiente de desenvolvimento.
DO serviço é otimizado para operações de longa duração em background.
EA mesma instância do serviço é criada por requisição HTTP, mas compartilhada entre diferentes componentes dentro dessa mesma requisição.
Revelar gabarito e comentário▾
GabaritoE — A mesma instância do serviço é criada por requisição HTTP, mas compartilhada entre diferentes componentes dentro dessa mesma requisição.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Ciclos de Vida no ASP.NET Core – Injeção de Dependência
Gabarito: letra E. O tempo de vida Scoped garante que uma única instância do serviço seja criada por requisição HTTP e compartilhada entre todos os componentes que a solicitam dentro da mesma requisição. Esse comportamento é ideal para serviços que não são thread-safe (como o DbContext do Entity Framework) e que precisam de isolamento entre requisições simultâneas, mas sem recriar o serviço a cada injeção.
A banca cobra a distinção entre os três ciclos de vida nativos do container de DI do .NET. Veja a comparação:
Ciclo de Vida
Instância por
Indicação
Transient
Cada injeção (sempre nova)
Serviços leves e sem estado compartilhado
Scoped
Por requisição HTTP (compartilhada no escopo)
Serviços com estado por requisição (ex.: DbContext)
Singleton
Uma única para toda a aplicação
Serviços stateless ou de configuração global
1TransientSempre nova
2ScopedPor requisição
3SingletonÚnica global
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
Descreve o comportamento Transient: uma nova instância a cada solicitação. Scoped, ao contrário, reutiliza a mesma instância dentro do mesmo escopo.
Alternativa B — ❌ Incorreta
Descreve o comportamento Singleton: mesma instância para todas as requisições. Scoped cria instâncias diferentes para requisições diferentes.
Alternativa C — ❌ Incorreta
Não existe criação de serviço restrita ao ambiente de desenvolvimento; os ciclos de vida são independentes do ambiente.
Alternativa D — ❌ Incorreta
Scoped não é otimizado para operações de longa duração em background. Para esse cenário, usam-se serviços hospedados (Hosted Services) ou Singleton.
Alternativa E — ✅ Correta ⟵ GABARITO
Define precisamente o Scoped: instância única por requisição HTTP, compartilhada entre os componentes que dependem dela dentro da mesma requisição.
NÃO CAIA NESSA!
Nas provas de ASP.NET Core, memorize a frase-chave: Transient = sempre nova, Scoped = uma por requisição, Singleton = uma para sempre. Quando a questão falar em DbContext, lembre-se de que ele deve ser registrado como Scoped – essa é uma pegadinha clássica.