Cómo validar opciones al arranque con IValidateOptions<T> en .NET 11
Implementa IValidateOptions<T>, regístralo en DI y encadena ValidateOnStart para que un appsettings.json incorrecto mate el proceso en lugar de la primera solicitud que lo toque. Cubre la sobrecarga Validate<TValidator>() de .NET 11, la validación asíncrona con IAsyncValidateOptions<T> y los tres lugares donde ValidateOnStart no hace nada en silencio.