Pular para o conteúdo principal

Questão de Programação — .Net — FUNDATEC 2025

Programação.Net
Código
qg475007
Banca
FUNDATEC
Órgão
PROCERGS
Ano
2025
Nível
Superior
Cargo
Analista em Computação/Ênfase em Programação de Sistemas na Tecnologia Microsoft
Em uma interface de programação de aplicações (API) ASP.NET Core com Entity Framework Core (EF Core) em produção, deseja-se evitar concorrência indevida e dependência cativa envolvendo DbContext. Qual é a adequada configuração de lifetimes?
  1. ADbContext Scoped (por requisição Hypertext Transfer Protocol - HTTP) e repositórios também Scoped, garantindo instância isolada por request e evitando capturar serviços de vida curta em serviços de vida longa.
  2. BRegistrar DbContext como Singleton por ser "thread-safe" e maximizar cache de primeiro nível, mantendo uma única instância global que "aproveita" o pool de conexões como parte do próprio contexto.
  3. CDbContext Transient com repositórios Singleton, usando repositórios como ponto central estável enquanto o contexto é recriado a cada injeção.
  4. DDbContext Singleton e ILogger Scoped, "equilibrando" persistência do contexto com logs por requisição, assumindo compartilhamento seguro de estado entre threads.
  5. EDbContext Scoped e loggers Transient "para capturar contexto por chamada", partindo da premissa de que loggers devem variar de instância a cada log e que scopes não são suportados por logging Singleton.
Revelar gabarito e comentário

GabaritoA — DbContext Scoped (por requisição Hypertext Transfer Protocol - HTTP) e repositórios também Scoped, garantindo instância isolada por request e evitando capturar serviços de vida curta em serviços de vida longa.

Link permanente: /questoes/qg475007