Archivo de la etiqueta: IOptionsSnapshot

Patrón Options (Options pattern)

Configuración de aplicaciones .NET Core, .NET 5, .NET 6 +
IOptions, IOptionsMonitor, IOptionsSnapshot, IOptionsCache
NAG 2021.10

Introducción

El llamado ‘patrón Options’ (opciones en castellano) forma parte del sistema de configuración de aplicaciones y componentes .NET Core, .NET 5 +.
Permite el uso de clases definidas por el usuario para proporcionar objetos de configuración con tipos estrictos. Es ampliamente empleado en muchos (casi todos) los componentes internos y muchos componentes de terceros existentes en las aplicaciones .NET Core (incluyendo ASP.NET Core) y .NET 5 + por lo que es un patrón bastante maduro y profusamente empleado.
Es recomendable (pero no imprescindible u obligatorio) que las aplicaciones o componentes que diseñemos y construyamos para estas plataformas, y que requieran objetos de configuración, accedan a sus configuraciones mediante el empleo de los patrones Options, según se verá en el artículo.
Existen bastantes maneras de emplear los diferentes aspectos de los patrones Options, por lo que a veces puede resultar un poco complicado saber cuáles debemos emplear o incluso en qué orden.

En este artículo veremos el uso básico de este patrón y se mostrará de una manera lo más sencilla posible cómo se puede emplear o cómo se debería emplear.
También se explica en detalle cómo se deberá configurar una aplicación de consola o de escritorio (Windows Forms o WPF) .NET 5 o superior (no una aplicación ASP.NET Core) para el uso del ‘patrón Options’.
En una aplicación web ASP.NET Core, la forma de hacerlo puede ser algo diferente, principalmente en cuanto al orden y el lugar de hacer las cosas y quizás más aún en las aplicaciones ASP.NET 6, aunque básicamente el funcionamiento será el mismo. Normalmente en una aplicación web, todas las referencias necesarias para emplear el ‘patrón Options’ (o casi todas) estarán ya especificadas, por lo que su implementación será aún más sencilla.

Descargar el documento completo.

Descargar el código de ejemplo.