BulkFileOperation Klasse

Definition

Bulkfileoperation bietet Funktionen zum sicheren Ausführen von Vorgängen mit Massen Dateien, die derzeit in der Lösung geöffnet sind. Eines der Beispiele ist SCC. Vor dem Vorgangstyp sollte der Consumer geschätzte Sätze von Dateien und Ordnern bereitstellen, in denen Änderungen erwartet werden. Diese Klasse kümmert sich um die "praktische" Logik für alle diese Dateien. Nachdem der Vorgang durchgeführt wurde, führt bulkfileoperation alle notwendigen Aufgaben für die "praktische" Logik durch und entscheidet, was neu geladen werden soll (Project/Solution/Nothing). Die Reihenfolge der Vorgänge lautet wie folgt: querybulkfileoperationasync beginasync (optional) endasync (optional, aber beginasync muss vor diesem Vorgang abgeschlossen werden) diese API muss sehr streng auf die ungeeignete Verwendung festgelegt werden, z. b. das Aufrufen von endasync, ohne auf beginasync zu warten, oder das doppelte Aufrufen derselben Methode In diesem Fall wird eine Ausnahme ausgelöst.

public ref class BulkFileOperation : Microsoft::VisualStudio::PlatformUI::DisposableObject
public class BulkFileOperation : Microsoft.VisualStudio.PlatformUI.DisposableObject
type BulkFileOperation = class
    inherit DisposableObject
Public Class BulkFileOperation
Inherits DisposableObject
Vererbung
BulkFileOperation

Eigenschaften

IsDisposed

Gibt zurück, ob das Objekt einmal verworfen wurde, schützt vor doppelter Entfernung.

(Geerbt von DisposableObject)
IsInProgress

Ruft ab, ob gerade ein bulkfileoperation-Vorgang ausgeführt wird. Dies wäre in einigen Fällen hilfreich:-um zu vermeiden, dass eine Ausnahme ausgelöst wird, wenn Sie New bulkfileoperation ausführen möchten. -, wenn der aktuelle Kontext nicht verloren gehen soll, wenn eine Teilmenge für Begin/End-Ereignisse auftritt.

IsSynchronousUpdateNeeded

Ruft ab, ob nach dem Massen Datei Vorgang ein synchrones Update erforderlich ist.

ProjectsToReload

Ruft eine Liste mit dem vollständigen Pfad zu den Projektdateien ab, die mit dem angeforderten Massen Datei Vorgang neu geladen/aktualisiert werden müssen.

TelemetryInfo

Abrufen von Informationen zu Statistiken für den aktuellen bulkfileoperation-Vorgang. Es ist möglich, diese an das Ereignis anzufügen und zusätzliche Informationen zu Zeitangaben und Zahlen zu erhalten.

UnsavedFiles

Die Teilmenge der Dokument Dateipfade, die zurzeit verwendet werden.

Methoden

BeginAsync(CancellationToken)

Starten Sie den Massen Datei Vorgang basierend auf der vorherigen querybulkfileoperationasync-Methode.

Dispose()

Entfernt das aktuelle Objekt und unterdrückt dann die weitere Beendigung.

(Geerbt von DisposableObject)
Dispose(Boolean)

Virtuelle Standard Überladung für IDisposable Muster

(Geerbt von DisposableObject)
DisposeManagedResources()

Es gibt keinen Schutz vor dem Aufrufen dieser Methode, während andere Methoden ausgeführt werden. Wenn beginasync z. b. ausgeführt wird und der Kunde "verwerfen ()" aufruft, werden Ressourcen automatisch verworfen, und das Objekt wird in den Zustand "verworfen" versetzt.

DisposeNativeResources()

Ermöglicht abgeleiteten Klassen das Bereitstellen einer benutzerdefinierten Lösch Behandlung für Native Ressourcen.

(Geerbt von DisposableObject)
EndAsync()

Schließt den Massen Datei Vorgang ab. Trifft Entscheidungen darüber, was neu geladen werden soll (Projekt/Projekt Mappe/nichts). Führt alle praktischen Logik aus und fügt Dateien/Ordner auf dem Titel hinzu. Diese Methode kann nicht abgebrochen werden, da sich das System andernfalls in einem unbekannten Zustand befindet:-einige Dateien wurden übergeben, einige nicht; : Wenn Projekte/Projektmappendatei aktualisiert wurden und die Projekt Mappe nicht erneut geladen wurde, ist dies die schlechte UX-Erfahrung.

QueryBulkFileOperationAsync(IEnumerable<String>, IEnumerable<String>, CancellationToken)

Starten Sie den Massen Datei Vorgang. Diese Methode wird vom Kunden aufgerufen, bevor ein Massen Datei Vorgang gestartet wird, z. b. git Checkout.

ThrowIfDisposed()

Löst eine ObjectDisposedException aus, wenn dieses Objekt verworfen wurde.

(Geerbt von DisposableObject)

Ereignisse

BeforeFlushPendingFileChangeNotification

Sendet das Signal "beforeflushstodingfilechangenotifitifitifitifitifitifitifitifitifitifitifitifi", wenn bulkfileoperation beendet wird

Begin

Sendet BEGIN Signal, wenn bulkfileoperation beginnt und alle ausstehenden filechange-Dienst Signale verarbeitet und angehalten wurden.

Disposing

Wird ausgelöst, wenn das Ereignis verworfen wird, während es weiterhin zugänglich ist.

(Geerbt von DisposableObject)
End

Sendet das Endsignal, wenn bulkfileoperation ganz am Ende endet.

Gilt für