B-Arts DocumentationIndice generale

BWorkerServiceModel

Scopo

BWorkerServiceModel è il template per servizi Windows basati su .NET Worker Service. Integra host, dependency injection, configurazione B-Arts, logging, database opzionale, esecuzione periodica e gestione dell'arresto.

Struttura

BWorkerServiceModel/
|-- BBaseClasses/
|   |-- BAppSetting.cs
|   |-- BBatch.cs
|   |-- BLog.cs
|   `-- BWorkerHostedService.cs
|-- BPartialClasses/
|   |-- BAppSetting.cs
|   `-- BLog.cs
|-- BServiceModel.cs
|-- Program.cs
|-- Setup/
|   |-- BInstall.bat
|   `-- BDisinstall.bat
`-- Documentations/

Ciclo di esecuzione

  1. Program carica BAppSetting.

  2. Costruisce BLogTracerConfig.

  3. Configura Host e UseWindowsService.

  4. Registra setting, log e BWorkerHostedService nella dependency injection.

  5. BWorkerHostedService crea BServiceModel.

  6. StartAsync chiama StartWorkerAsync().

  7. BBaseWorkerService richiama periodicamente ElaborationAsync usando il timer configurato.

  8. StopAsync chiama StopWorker().

BServiceModel

Deriva da BBaseWorkerService. I punti applicativi sono:

  • GetTimer(): restituisce TimerElaboration;

  • CheckBConfig(): valida configurazione e connessione;

  • ElaborationAsync(CancellationToken): contiene il lavoro periodico;

  • WriteLog: coordina log B-Arts e log .NET.

ElaborationAsync deve rispettare il CancellationToken: passarlo alle operazioni asincrone e interrompere ordinatamente il lavoro quando richiesto.

Configurazione

BAppSetting contiene database, log, e-mail, libreria locale e TimerElaboration. Il timer è espresso in millisecondi.

I valori reali devono provenire da BAppSettings.config o da un sistema di configurazione sicuro. Il servizio non deve riscrivere a ogni avvio i valori caricati con impostazioni di debug.

Logging

Il modello può scrivere tramite:

  • BLog e BLogTracerConfig;

  • file eventi/errori;

  • Windows Event Log;

  • database;

  • e-mail;

  • provider ILogger .NET.

Usare il wrapper di BServiceModel per mantenere allineati log B-Arts e provider .NET.

Installazione come servizio Windows

Prima dell'installazione configurare negli script:

  • SERVICE_NAME;

  • SERVICE_PATH con il percorso assoluto dell'eseguibile pubblicato;

  • SERVICE_DESC.

Gli script devono essere eseguiti con privilegi amministrativi. BInstall.bat crea e avvia il servizio; BDisinstall.bat lo arresta e lo elimina.

Documenti correlati