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

Guía para validar rutas y archivos críticos al inicio de ASP.NET Core con ValidateOnStart e IValidateOptions mediante una biblioteca reutilizable. Centraliza la configuración, carga claves por archivo y expone el teléfono y correo del Help Desk en la interfaz.

domingo, 17 de agosto de 2025 • 3 min de lectura • Equipo Q2BSTUDIO

Inteligencia-Artificial-

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.

¿UNA PAUSA?

Juega un momento antes de irte

NUESTROS SERVICIOS

Cómo podemos ayudarte

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.