CancellationToken bis zur Datenbank weiterreichen
Wenn eine HTTP-Anfrage abgebrochen wird, sollte auch die zugehörige Arbeit enden. In ASP.NET Core lässt sich der CancellationToken einer Anfrage an asynchrone Methoden weitergeben.
Das gilt auch für Abfragen mit Entity Framework Core: ToListAsync(cancellationToken) kann unnötige Arbeit vermeiden. Ein Abbruch ist dabei ein erwarteter Zustand und kein Grund für eine erneute Ausführung.
HttpClient und die Lebensdauer von Verbindungen
Ein neuer HttpClient für jede Anfrage erzeugt unnötigen Aufwand. In Anwendungen mit Dependency Injection hilft IHttpClientFactory dabei, Handler wiederzuverwenden und Clients an einer Stelle zu konfigurieren.
Timeouts und Wiederholungen sollten bewusst gewählt werden. Besonders bei schreibenden Anfragen muss klar sein, ob eine Wiederholung denselben Vorgang zweimal auslösen könnte.
Logs sollen eine Frage beantworten
Eine hilfreiche Logmeldung erklärt, welcher Vorgang fehlgeschlagen ist und welche Kennung zur Untersuchung gebraucht wird. Strukturierte Eigenschaften sind dabei leichter auszuwerten als zusammengesetzte Zeichenketten.
Passwörter, Zugriffstoken und vollständige Anfragetexte gehören nicht ins Log. Weniger Daten machen die Auswertung oft übersichtlicher.