Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

221
Vistas
¿Cómo actualiza .net el valor de json cuando usa el patrón de Opciones?

Estoy trabajando en un proyecto web api.

Tengo algunos valores clave almacenados en el archivo json de configuración de la aplicación.

Configuré los patrones de opciones para que la configuración de json se asigne a un objeto. Estoy leyendo que el patrón de opciones tiene un alcance único de forma predeterminada. Esto significa que, ante la primera solicitud de un controlador, la opción inyectada se inicializará con valores del json.

Ahora, cuando cambio un valor en el archivo json, ¿debo reiniciar la aplicación para asegurarme de que la solicitud posterior tendrá el valor de configuración más reciente? ¿O hay alguna forma de hacer que la opción tenga un alcance para que en cada solicitud obtenga el valor más reciente de la configuración?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Esto se explica en los documentos, en Patrón de opciones en ASP.NET Core . La forma en que lea los ajustes de configuración depende de la interfaz que utilice. Esto se describe en la sección con el título poco intuitivo Interfaces de opciones . Dudo que alguien pensaría en ir a esa sección si uno no supiera ya, por ejemplo IOptionsMonitor .

Como esa sección explica:

  • IOptions<> es de hecho un singleton, carga los valores al inicio y no muestra ningún cambio.
  • IOptionsMonitor generará notificaciones cada vez que haya un cambio y le permitirá recuperar el valor más reciente. Esto significa que puede leer fácilmente dos valores diferentes para la misma configuración en la misma acción.

Imagine tratar de calcular un precio mientras cambia la configuración de una tarifa o comisión. Esto puede ser molesto.

  • IOptionsSnapshot<> está en el ámbito, cargará la configuración cuando se inicie el ámbito y no cambiará durante el ámbito, incluso si cambia la configuración subyacente. Si su objeto Opciones tiene una propiedad Tarifa, permanecerá igual incluso si cambia la configuración real.

Usted especifica cómo desea recuperar los valores utilizando la interfaz adecuada en su controlador, BackgroundService u otra clase de servicio DI, por ejemplo:

 class MyController:ControllerBase { IOptionsSnapshot<Fees> _fees; public MyController(IOptionsSnapshot<Fees> feeOptions) { _fees=feeOptions' } ... }

La sección Use IOptionsSnapshot para leer datos actualizados ofrece más ejemplos

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda