El resultado final es cerrar la aplicación si se produce un tipo específico de excepción ( DatabaseException ).
Sin embargo, el método actual HandleDatabaseException no detiene la aplicación, la ejecución continuará. Aunque se ejecuta _applicationLifetime.Stop() .
private IHostApplicationLifetime _applicationLifetime; public void CreatePolcy() { var policy = Policy .Handle<DatabaseException>(ex => HandleDatabaseException(ex)) .WaitAndRetryForever( retryAttempt => TimeSpan.FromSeconds(Math.Pow(2, retryAttempt)), (exception, timespan) => HandleRetry(exception, timespan, stoppingToken)); } public bool HandleDatabaseException(Exception ex) { _applicationLifetime.Stop(); return true; }