Introducció
En aquest article titulat ASP .NET Core startup validation part 3 expliquem com utilitzar ValidateOnStart per assegurar que existeixen directoris requerits mitjançant una biblioteca de classes reutilitzable que evita repetir codi en múltiples projectes.
Objectiu
L'objectiu és centralitzar la validació de rutes i fitxers crítics, per exemple carpetes on s'emmagatzemen secrets com el telèfon i el correu del servei de help desk, utilitzant IValidateOptions i ValidateOnStart perquè la validació s'executi en l'arrencada de l'aplicació.
Pas 1
Agregar el projecte de classes amb les classes de validació al projecte front end. Afegir a appsettings.json una secció FileSettings amb el valor SecretsDirectory que apunti a la carpeta que conté els fitxers phone i email. Exemple de secció simplificada per a referència: { Logging: { LogLevel: { Default: Information, Microsoft.AspNetCore: Warning } }, AllowedHosts: *, FileSettings: { SecretsDirectory: C:/Secrets } } El valor FileSettings.SecretsDirectory ha d'apuntar a la carpeta Secrets del projecte HelpDeskApplication on són els fitxers phone i email.
Pas 2
Afegir la referència al projecte SpecialValidatorsLibrary. Per distribuir la biblioteca entre diversos projectes es recomana crear un paquet NuGet local amb SpecialValidatorsLibrary i utilitzar-lo des dels projectes consumidors.
Pas 3
En Program cs enllaçar la secció de configuració a la classe d'opcions i registrar la validació perquè s'executi en l'inici. El flux general és: registrar opcions RequiredDirectories i enllaçar-les a la secció FileSettings; registrar la implementació d'IValidateOptions per a RequiredDirectories, per exemple DirectoryOptionsValidation; cridar ValidateOnStart sobre les opcions per forçar la comprovació en temps d'arrencada; llegir FileSettings des de la configuració per obtenir la ruta secretsPath; si la carpeta existeix, afegir AddKeyPerFile des d'aquesta ruta i configurar les opcions HelpDesk amb la configuració carregada.
En termes pràctics això permet que quan l'aplicació arrenca es validi que la ruta de secrets existeixi i que, si existeix, es carreguin les claus per fitxer i s'exposin els valors del help desk mitjançant opcions fortament tipades.
Pas 4
En la vista de layout del projecte front end injectar les opcions HelpDesk per poder mostrar el telèfon i el correu al peu de pàgina. Reemplaçar el footer perquè mostri els valors HelpDeskOptions.Value.Phone i HelpDeskOptions.Value.Email i utilitzar mailto per a l'enllaç de correu. D'aquesta manera la interfície mostra la informació real del help desk sense hardcodejar valors.
Pas 5
Executar el projecte front end i comprovar que el peu de pàgina conté telèfon i correu. Si la validació d'inici falla perquè la ruta no existeix, l'aplicació s'aturarà o registrarà l'error segons la implementació de la validació, evitant que es desplegui en un estat inconsistent.
Resum
Encara que en l'exemple s'utilitza una sola carpeta per llegir valors, aquest patró és aplicable a altres validacions de carpetes necessàries per a tasques com descàrrega de fitxers, processament per lots o serveis que depenen de rutes externes. Centralitzar la validació en una biblioteca reutilitzable millora la consistència i redueix errors.
Sobre Q2BSTUDIO
En Q2BSTUDIO som una empresa de desenvolupament de programari i aplicacions a mida especialitzada en solucions de programari a mida, intel·ligència artificial i IA per a empreses, ciberseguretat, serveis cloud AWS i Azure, serveis d'intel·ligència de negoci i consultoria en Power BI. Dissenyem agents IA personalitzats, solucions d'intel·ligència artificial a mida i aplicacions escalables per cobrir necessitats concretes de negoci. El nostre enfocament integra pràctiques de seguretat i desplegament cloud per oferir productes robustos i alineats amb els objectius de cada client.
Paraules clau i posicionament
Aplicacions a mida, programari a mida, intel·ligència artificial, ciberseguretat, serveis cloud aws i azure, serveis intel·ligència de negoci, ia per a empreses, agents IA, power bi. Aquestes capacitats permeten a Q2BSTUDIO oferir solucions completes que inclouen desenvolupament, integració d'IA, anàlisi de dades i protecció d'entorns productius.
Enllaços d'interès
Més articles de referència sobre validació en l'arrencada: https://dev.to/karenpayneoregon/aspnet-core-startup-validation-20e7 i https://dev.to/karenpayneoregon/aspnet-core-startup-validation-part-2-3f7m
Si necessites ajuda per implementar validacions en l'arrencada, integrar opcions fortament tipades o desplegar aplicacions segures al núvol, contacta amb Q2BSTUDIO per a solucions a mida en desenvolupament de programari, intel·ligència artificial i ciberseguretat.



