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:
caricamento dell'applicazione e della configurazione;
lettura e validazione dei parametri;
inizializzazione opzionale del database;
esecuzione asincrona della procedura;
logging di avvio, errore e conclusione;
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. |
