Pular para o conteúdo principal

Questão de Programação — Frameworks em Programação — FUNDATEC 2025

ProgramaçãoFrameworks 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"?
  1. AUma nova instância do serviço é criada a cada vez que ele é solicitado.
  2. BA mesma instância do serviço é usada para todas as requisições durante todo o ciclo de vida da aplicação.
  3. CO serviço é criado apenas em ambiente de desenvolvimento.
  4. DO serviço é otimizado para operações de longa duração em background.
  5. 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

  1. 1TransientSempre nova
  2. 2ScopedPor requisição
  3. 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.

Gabarito: letra E

Link permanente: /questoes/qg474877