POLITICA DE COOKIES

Q2BSTUDIO.COM utiliza cookies técnicas, analíticas, de sesión y de publicidad con la finalidad de prestar un mejor servicio. No obstante, necesitamos su consentimiento explícito para poder utilizarlas. Así mismo puede cambiar la configuración de las cookies u obtener más información aquí .

Validación de Startup en ASP.NET Core Parte 3

Validación de Startup en ASP.NET Core Parte 3

Publicado el 17/08/2025

Introducción

En este artículo titulado ASP .NET Core startup validation part 3 explicamos cómo usar ValidateOnStart para asegurar que existen directorios requeridos mediante una biblioteca de clases reutilizable que evita repetir código en múltiples proyectos.

Objetivo

El objetivo es centralizar la validación de rutas y archivos críticos, por ejemplo carpetas donde se almacenan secretos como el teléfono y el correo del servicio de help desk, usando IValidateOptions y ValidateOnStart para que la validación se ejecute en el arranque de la aplicación.

Paso 1

Agregar el proyecto de clases con las clases de validación al proyecto front end. Añadir en appsettings.json una sección FileSettings con el valor SecretsDirectory que apunte a la carpeta que contiene los archivos phone y email. Ejemplo de sección simplificada para referencia: { Logging: { LogLevel: { Default: Information, Microsoft.AspNetCore: Warning } }, AllowedHosts: *, FileSettings: { SecretsDirectory: C:/Secrets } } El valor FileSettings.SecretsDirectory debe apuntar a la carpeta Secrets del proyecto HelpDeskApplication donde están los archivos phone y email.

Paso 2

Añadir la referencia al proyecto SpecialValidatorsLibrary. Para distribuir la biblioteca entre varios proyectos se recomienda crear un paquete NuGet local con SpecialValidatorsLibrary y usarlo desde los proyectos consumidores.

Paso 3

En Program cs enlazar la sección de configuración a la clase de opciones y registrar la validación para que se ejecute en el inicio. El flujo general es: registrar opciones RequiredDirectories y enlazarlas a la sección FileSettings; registrar la implementación de IValidateOptions para RequiredDirectories, por ejemplo DirectoryOptionsValidation; llamar a ValidateOnStart sobre las opciones para forzar la comprobación en tiempo de arranque; leer FileSettings desde la configuración para obtener la ruta secretsPath; si la carpeta existe, añadir AddKeyPerFile desde esa ruta y configurar las opciones HelpDesk con la configuración cargada.

En términos prácticos esto permite que cuando la aplicación arranca se valide que la ruta de secretos exista y que, si existe, se carguen las claves por archivo y se expongan los valores del help desk mediante opciones fuertemente tipadas.

Paso 4

En la vista de layout del proyecto front end inyectar las opciones HelpDesk para poder mostrar el teléfono y el correo en el pie de página. Reemplazar el footer para que muestre los valores HelpDeskOptions.Value.Phone y HelpDeskOptions.Value.Email y usar mailto para el enlace de correo. De este modo la interfaz muestra la información real del help desk sin hardcodear valores.

Paso 5

Ejecutar el proyecto front end y comprobar que el pie de página contiene teléfono y correo. Si la validación de inicio falla porque la ruta no existe, la aplicación se detendrá o registrará el error según la implementación de la validación, evitando que se despliegue en un estado inconsistente.

Resumen

Aunque en el ejemplo se usa una sola carpeta para leer valores, este patrón es aplicable a otras validaciones de carpetas necesarias para tareas como descarga de archivos, procesamiento por lotes o servicios que dependen de rutas externas. Centralizar la validación en una biblioteca reutilizable mejora la consistencia y reduce errores.

Sobre Q2BSTUDIO

En Q2BSTUDIO somos una empresa de desarrollo de software y aplicaciones a medida especializada en soluciones de software a medida, inteligencia artificial e IA para empresas, ciberseguridad, servicios cloud AWS y Azure, servicios de inteligencia de negocio y consultoría en Power BI. Diseñamos agentes IA personalizados, soluciones de inteligencia artificial a medida y aplicaciones escalables para cubrir necesidades concretas de negocio. Nuestro enfoque integra prácticas de seguridad y despliegue cloud para ofrecer productos robustos y alineados con los objetivos de cada cliente.

Palabras clave y posicionamiento

Aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi. Estas capacidades permiten a Q2BSTUDIO ofrecer soluciones completas que incluyen desarrollo, integración de IA, análisis de datos y protección de entornos productivos.

Enlaces de interés

Más artículos de referencia sobre validación en el arranque: https://dev.to/karenpayneoregon/aspnet-core-startup-validation-20e7 y https://dev.to/karenpayneoregon/aspnet-core-startup-validation-part-2-3f7m

Si necesitas ayuda para implementar validaciones en el arranque, integrar opciones fuertemente tipadas o desplegar aplicaciones seguras en la nube, contacta con Q2BSTUDIO para soluciones a medida en desarrollo de software, inteligencia artificial y ciberseguridad.

Fin del artículo, inicio de la diversión
Construyendo software juntos

Dando vida a tus ideas desde 2008

Diseñamos aplicaciones móviles y de escritorio innovadoras que cumplen con tus requisitos específicos y mejoran la eficiencia operativa.
Más info
Cuéntanos tu visión
Sea cual sea el alcance, podemos convertir tu idea en realidad. Envíanosla y charlemos sobre tu proyecto o una colaboración futura.
Contáctanos
artículos destacados
Live Chat
Enviado correctamente.

Gracias por confiar en Q2BStudio