Ich habe eine Klasse, die verschiedene Aufgaben hervorbringt, die unbegrenzt ausgeführt werden können. Wenn dieses Objekt entsorgt wird, möchte ich die Ausführung dieser Aufgaben stoppen.Abbrechen von Aufgaben in der Dispose-Methode
Ist das der richtige Ansatz:
public class MyClass : IDisposable
{
// Stuff
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
protected virtual void Dispose(bool disposing)
{
if (disposing)
{
queueCancellationTokenSource.Cancel();
feedCancellationTokenSource.Cancel();
}
}
}
Große Antwort - danke. Eine Frage: Warum verfügen Sie über die Aufgabe? – davenewza
Nur weil es sicher ist, da Sie garantiert haben, dass die Aufgabe bis dahin beendet sein würde. Aber [Sie müssen nicht wirklich] (http://blogs.msdn.com/b/pfxteam/archive/2012/03/25/10287435.aspx). – Douglas
Ok gut. Danke für das Lesen. – davenewza