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.>
Ich habe einen Hintergrundarbeiter, der den Hintergrundservice implementiert (bereitgestellt von MS).[code]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(); } // ... } } [/code] 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.>
Ich versuche, mit meinem Computer eine Verbindung zu einem Gerät herzustellen, indem ich den visa.ivi-Treiber verwende. Ich schreibe in C# mit Visual Studio 17.12.3.
Ich habe ein Programm mit...
Frage im Voraus: Ich suche nach einer Möglichkeit, ein UI -Update aus einem Hintergrundservice in einer Blazor -Server -App auszulösen. Die Daten in der DB stammen aus einer externen API und werden...
Ich habe Hintergrundarbeiter, der Hintergründerservice implementiert. Ich habe diesen Dienst zu Beginn meines Programms hinzugefügt.builder.Services.AddHostedService();
WorkManager ist eine Bibliothek, die zum Einreihen von Arbeiten in die Warteschlange verwendet wird, deren Ausführung garantiert ist, nachdem ihre Einschränkungen erfüllt sind.