BulkFileOperation Sınıf

Tanım

BulkFileOperation, şu anda çözümde açılmış olan dosyalarla toplu işlemleri güvenle gerçekleştirmek için işlevsellik sağlar. Örnek, SCC ' dir. İşlem tüketicisi, değişikliklerin beklenen tahmini dosya ve klasör kümesini sağlamalıdır. Bu sınıf, tüm bu dosyalar için "Uygulamalı" mantığını ele alır. İşlem tamamlandıktan sonra, BulkFileOperation tüm gerekli işleri "Uygulamalı" mantığı için yapar ve ne geri yükleyebileceğinize (proje/çözüm/Nothing) ilişkin bir karar verir. İşlem sırası şunlardır: QueryBulkFileOperationAsync BeginAsync (optional) Endadsync (isteğe bağlı, ancak bundan önce tamamlanması için BeginAsync gerekir) Bu API 'yi uygun olmayan kullanım için çok sıkı hale getirme, örneğin BeginAsync çağrısı yapılmadan Endadsync 'i çağırma veya aynı yöntemi iki kez çağırma. Bu durumda, özel durum oluşturulur.

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
Devralma
BulkFileOperation

Özellikler

IsDisposed

Nesnenin bir kez atılmış olup olmadığını döndürür, Çift elden çıkarma karşı koruma sağlar

(Devralındığı yer: DisposableObject)
IsInProgress

Bir toplu BulkFileOperation 'in Şu anda devam ettiğini belirten bir bildirim alır. Birçok durumda yararlı olur:-yeni BulkFileOperation çalıştırmak istiyorsanız özel durum almanızı önlemek için -Başlangıç/bitiş olaylarından sonra, geçerli bağlam kaybedilmez.

IsSynchronousUpdateNeeded

Toplu dosya işlemi yapıldıktan sonra zaman uyumlu güncelleştirmenin gerekli olup olmayacağını alır.

ProjectsToReload

İstenen toplu dosya işlemiyle yeniden yüklenmesi/güncellenmesi gereken proje dosyalarının tam yolunun listesini alır.

TelemetryInfo

Geçerli BulkFileOperation için istatistikler hakkında bilgi alın. Olaya eklemek ve zamanlamalar ve sayımlar hakkında ek bilgilere sahip olmak mümkündür.

UnsavedFiles

Şu anda kullanımda olan belge dosyası yollarının alt kümesi.

Yöntemler

BeginAsync(CancellationToken)

Önceki QueryBulkFileOperationAsync metoduna göre toplu dosya işlemi başlatın.

Dispose()

Geçerli nesneyi ortadan kaldırır ve daha sonra sonlandırma bastırır.

(Devralındığı yer: DisposableObject)
Dispose(Boolean)

Model için standart sanal aşırı yükleme IDisposable

(Devralındığı yer: DisposableObject)
DisposeManagedResources()

Diğer yöntemler devam ederken bu yöntemi çağırmaya yönelik bir koruma yoktur. Örneğin, BeginAsync devam ediyorsa ve müşteri, Dispose () çağrısı yaparken kaynakları sessizce elden çıkardığı ve nesneyi atılmış duruma taşıacaktır.

DisposeNativeResources()

Türetilmiş sınıfların yerel kaynaklar için özel Dispose işleme sağlamasına izin verir

(Devralındığı yer: DisposableObject)
EndAsync()

Toplu dosya işlemini tamamlar. Ne yeniden yüklenecek için gerekli kararları verir (proje/çözüm/Nothing). Tüm uygulamalı mantığı yapar ve izleme üzerinde dosya/klasör ekler. Aksi halde sistem bilinmeyen durumda olacağı için bu yöntem iptal edilemez.-bazı dosyalar iade edildi, bazıları değil; -projeler/çözüm dosyası güncellendiyse ve çözüm, Hatalı UX deneyimi olan yeniden yüklenmedi.

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

Toplu dosya işlemi başlatın. Bu yöntem, git Checkout gibi bazı toplu dosya işlemlerine başlamadan önce müşteri tarafından çağırılır.

ThrowIfDisposed()

Bu nesne atılmışsa bir ObjectDisposedException oluşturur

(Devralındığı yer: DisposableObject)

Ekinlikler

BeforeFlushPendingFileChangeNotification

Dosya değiştirme hizmeti 'ni sürdürmemiz için BulkFileOperation sona erdiğinde BeforeFlushPendingFileChangeNotification sinyali gönderir.

Begin

BulkFileOperation başlatıldığında BEGIN Signal gönderir ve bekleyen tüm dosya değişikliği hizmeti sinyallerini işliyoruz ve durakladık.

Disposing

Olay atılırken, hala erişilebilir durumdayken tetiklenir.

(Devralındığı yer: DisposableObject)
End

BulkFileOperation çok uçta sona erdiğinde bitiş sinyali gönderir.

Şunlara uygulanır