Hintergrundservice Anmutiges Abschalten - Vollständige Arbeit und schreiben Sie an DBC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Hintergrundservice Anmutiges Abschalten - Vollständige Arbeit und schreiben Sie an DB

Post by Anonymous »

Ich habe einen Hintergrundarbeiter, der den Hintergrundservice implementiert (bereitgestellt von MS).

Code: Select all

public class MyService : BackgroundService {

private readonly MyDbContext _context;

public MyService(MyDbContext context) {
//...
}

protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
try {
while (true)
{
stoppingToken.ThrowIfCancellationRequested();
// Do some work
}
} catch(OperationCancelledException) {
_context.Add(new MyLogMessage(){ Error = "MyService cancelled!" });
_context.SaveChanges();
}
// ...
}
}
Wenn der anmutige Heruntergang (in Konsole: Strg+C) angefordert wird, wird der Fangblock ausgelöst, und auch die Savechanges () scheinen ausgeführt zu werden. Aber manchmal wird der Fehler in der Datenbank gespeichert und die Zeit nicht. Auch das EntityFramework druckt eine Einfügungsanweisung in der Konsole, aber das Protokoll befindet sich nicht im dB.>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post