B-Arts DocumentationIndice generale

BAppConsoleModel

Scopo

BAppConsoleModel è il template B-Arts per applicazioni console e batch. Integra lettura dei parametri, configurazione persistente, connessione opzionale al database, logging, notifiche e codici d'uscita standard.

Lo sviluppatore deve inserire la logica applicativa nel ciclo predisposto, senza ricostruire configurazione, database o log.

Struttura

BAppConsoleModel/
|-- BBaseClasses/
|   |-- BAppSetting.cs
|   |-- BBatch.cs
|   `-- BLog.cs
|-- BPartialClasses/
|   |-- BAppSetting.cs
|   `-- BLog.cs
|-- BApp.cs
|-- Program.cs
`-- Documentations/

Program.cs

È il punto di ingresso. Deve passare gli argomenti reali a BApp e attendere Run():

BApp app = new BApp(args);
await app.Run();

Eventuali argomenti fissi usati durante il debug non devono rimanere attivi nelle build pubblicate.

BApp

Deriva da BBaseBatch e coordina:

  1. caricamento dell'applicazione e della configurazione;

  2. lettura e validazione dei parametri;

  3. inizializzazione opzionale del database;

  4. esecuzione asincrona della procedura;

  5. logging di avvio, errore e conclusione;

  6. assegnazione del codice d'uscita.

I punti applicativi principali sono:

  • Run(): logica del batch;

  • ReadArguments(): lettura di parametri aggiuntivi;

  • CheckValidParameters(): validazione applicativa;

  • PrintHelp(): documentazione dei parametri supportati.

BBatch

Fornisce funzioni statiche per:

  • caricare BAppSettings.config;

  • creare il file quando non esiste;

  • costruire BSettingDatabase;

  • decifrare la password DB tramite BCrypter;

  • creare e verificare BConnection;

  • esporre i codici d'uscita.

BAppSetting

Deriva da BBaseSetting. Le proprietà contrassegnate da [BFieldSetting(true)] comprendono configurazione DB, log, e-mail e database della libreria.

Le personalizzazioni devono essere aggiunte nella parte presente in BPartialClasses. Non inserire credenziali reali nei valori predefiniti o nel codice sorgente.

BLog

Centralizza log su file, Event Log, database ed eventuale invio e-mail. Usare BLog.ScriviLog attraverso il wrapper di BApp, così origine, utente ed elaborazione restano coerenti.

Parametri

Il template usa il formato:

-E:4
-U:utente
  • -E: identificativo obbligatorio dell'elaborazione.

  • -U: identificativo facoltativo dell'utente proprietario.

I valori vengono convertiti con BConvert; la separazione comando/valore riutilizza BGlobal.PrendiParteStr.

Codici d'uscita

Codice Costante Significato
0 K_EXITCODE_OK Elaborazione completata.
-1 K_EXITCODE_ELABORATION_FAILED Errore durante l'elaborazione.
-2 K_EXITCODE_BAPPSETTING_NOTHING Configurazione non disponibile.
-3 K_EXITCODE_READPARAMETER_FAILED Parametri assenti o non validi.
-4 K_EXITCODE_BAPP_NOTINGH Istanza applicativa non creata.

Documenti correlati