Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

226
Views
¿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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!