BWorkerServiceModel - esempi
Elaborazione periodica
public override async Task<bool> ElaborationAsync(CancellationToken stoppingToken)
{
try
{
WriteLog("Elaborazione avviata");
await ElaboraElementi(stoppingToken);
WriteLog("Elaborazione completata");
return true;
}
catch (OperationCanceledException) when (stoppingToken.IsCancellationRequested)
{
WriteLog("Arresto del servizio richiesto");
return true;
}
catch (Exception ex)
{
WriteLog("Errore durante l'elaborazione", BEnumerations.eSeverity.ERROR, ex);
return false;
}
}
Configurazione aggiuntiva
Nella parte BPartialClasses/BAppSetting.cs:
[BFieldSetting(true)]
public int NumeroElementiPerCiclo { get; set; } = 100;
public override void PartialMappingDataDefault()
{
NumeroElementiPerCiclo = 100;
base.PartialMappingDataDefault();
}
Installazione
SET SERVICE_NAME=MioServizio
SET SERVICE_PATH=C:\Servizi\MioServizio\MioServizio.exe
SET SERVICE_DESC=Servizio di elaborazione B-Arts
Pubblicare prima l'eseguibile nel percorso indicato, quindi eseguire lo script come amministratore.
