Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Why doesn’t SessionDataSet implement the IAsyncDisposable interface?

Offen
#54 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
48/100
Issue-Typ
Feature
Klarheit
Größtenteils klar
Aktivitätsstatus
Ruhig
Tech-Stack
csharp
Bereich
api

Rechercherichtung

Lokalisieren Sie SessionDataSet und prüfen Sie seine bestehende IDisposable-Implementierung, insbesondere Dispose() und den asynchronen Close()-Einstiegspunkt. Bestätigen Sie, dass die Klasse asynchrone Freigabe unterstützt und dass Close() abgewartet wird, ohne das bestehende synchrone Freigabeverhalten zu ändern; das Issue enthält weder einen Test noch einen Dateipfad, daher sollte die Fertigstellung anhand beider Freigabepfade überprüft werden.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Currently, SessionDataSet implements the IDisposable interface. However, in its Dispose() method, the asynchronous Close() method is invoked synchronously.

Actual implementation:

protected virtual void Dispose(bool disposing)
{
  if (this.disposedValue)
    return;
  if (disposing)
  {
    try
    {
      //synchronous call
      this.Close().Wait();
    }
    catch
    {
    }
  }
  this.disposedValue = true;
}

Proposed implementation:

protected virtual Task DisposeAsync(bool disposing)
{
  if (this.disposedValue)
    return;
  if (disposing)
  {
    try
    {
      //asynchronous call
      await this.Close();
    }
    catch
    {
    }
  }
  this.disposedValue = true;
}
Vorherrschende Sprache
C#
Sterne
24
Forks
6
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Entwicklungsumgebung

Die Einrichtungsdateien dieses Projekts haben wir noch nicht geprüft. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus apache/iotdb-client-csharp

Alle Issues in apache/iotdb-client-csharp

Ähnliche Issues

Weitere Issues zu C#

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.