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.

17 ago 2025 • 3 min read • Q2BSTUDIO Team

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.

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Artificial intelligence

AI agents, chatbots, and intelligent assistants that automate tasks and serve your customers 24/7 to improve the efficiency of your business.

More info

Software Development

Web, mobile, and desktop applications, intranets, e-commerce, SaaS, and management platforms designed for your company's specific needs.

More info

Cloud services

Migration, infrastructure, managed hosting, high availability, and security on Microsoft Azure and Amazon Web Services to help your business scale without limits.

More info

Cybersecurity and pentesting

Security audits, penetration testing and protection of applications, data and infrastructure on-premise and cloud, with ethical hacking and regulatory compliance.

More info

Business Intelligence

Dashboards and data analysis with Power BI: we integrate your sources, design dashboards and KPIs and turn your data into decisions.

More info

Process automation

We automate repetitive tasks and connect your applications with n8n, Power Automate, Make, and RPA, eliminating manual work and increasing productivity.

More info

Training for Companies

We train your teams in technology with criteria: web development, databases, Git, best practices and security, automation with n8n, artificial intelligence for companies and creation of AI solutions with Azure AI Foundry.

More info

Code Auditing

We audit the code that you, your team or an AI create: we tell you what is good and what to improve, we secure it and make it ready for production, web or app.

More info

AI Image Generation

We create for you the images that your business needs with artificial intelligence: product, networks, advertising, illustration and avatars. You tell us what you want and we deliver it ready to use.

More info

AI Video Generation

We create videos with artificial intelligence for you: promotional, networking, virtual presenters, dubbing and animations. You tell us the idea and we will deliver it assembled and ready to publish.

More info

AI Conversational Avatars

We create conversational avatars with AI – digital humans with a face and voice – that serve your customers and teams with the knowledge of your company, on your website, interactive monitors, WhatsApp or Teams.

More info

Online Marketing and AI

Google Ads, Meta Ads, LinkedIn Ads and AI Engine Positioning (GEO/AEO): we attract customers and make your brand appear where they search for you, also on ChatGPT, Gemini and Perplexity.

More info

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.

Live Chat