BulkFileOperation Класс

Определение

Булкфилеоператион предоставляет функциональные возможности для безопасного выполнения операций с большими объемами файлов, которые в настоящее время открыты в решении. Одним из примеров является SCC. Прежде чем потребитель операции должен предоставить предполагаемый набор файлов и папок, в которых ожидается изменение. Этот класс принимает во внимание логику «практических» для всех этих файлов. После выполнения операции Булкфилеоператион выполняет все необходимое задание для логики и принимает решение о возможной перезагрузке (проект/решение/Nothing). Порядок операций: Куерибулкфилеоператионасинк BeginAsync (необязательный) EndAsync (необязательный, но для завершения перед этим требуется BeginAsync). при удалении этого API очень ограничено использование, например вызов EndAsync без ожидания выполнения BeginAsync, или вызов того же метода дважды и т. д. В этом случае будет выдано исключение.

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
Наследование
BulkFileOperation

Свойства

IsDisposed

Возвращает значение, указывающее, был ли объект ликвидирован один раз, защищается от двойной реализации

(Унаследовано от DisposableObject)
IsInProgress

Получает сведения о том, выполняется ли сейчас некоторое Булкфилеоператион. Это было бы полезно в нескольких случаях: — чтобы избежать получения исключения, если требуется запустить новый Булкфилеоператион; —, чтобы не терять текущий контекст, когда субсЦибес в событиях Begin и End.

IsSynchronousUpdateNeeded

Возвращает значение, указывающее, требуется ли синхронное обновление после завершения операции с массовым файлом.

ProjectsToReload

Возвращает список полных путей к файлам проекта, которые должны быть перезагружены или обновлены с помощью запрошенной операции с массовыми файлами.

TelemetryInfo

Получение сведений о статистике для текущего Булкфилеоператион. Можно присоединить его к событию и получить дополнительные сведения о времени и счетчиках.

UnsavedFiles

Подмножество путей к файлам документов, используемых в данный момент.

Методы

BeginAsync(CancellationToken)

Запуск операции с массовыми файлами на основе предыдущего метода Куерибулкфилеоператионасинк.

Dispose()

Уничтожает текущий объект и подавление дальнейших финализации.

(Унаследовано от DisposableObject)
Dispose(Boolean)

Стандартная виртуальная перегрузка для IDisposable шаблона

(Унаследовано от DisposableObject)
DisposeManagedResources()

Не существует защиты от вызова этого метода во время выполнения других методов. Например, если выполняется BeginAsync и клиент вызывает метод Dispose (), он автоматически уничтожает ресурсы и перемещает объект в удаленное состояние.

DisposeNativeResources()

Позволяет производным классам предоставлять настраиваемую обработку Dispose для собственных ресурсов

(Унаследовано от DisposableObject)
EndAsync()

Завершает операцию с массовым файлом. Принимает необходимые решения о перезагрузке (Project/Solution/Nothing). Выполняет всю логику и добавляет файлы и папки на дорожке. Этот метод не может быть отменен, так как в противном случае система будет находиться в неизвестном состоянии:-некоторые файлы были переданы, а некоторые нет; — Если проект или файл решения обновлен, а решение не было перезагружено, что является неправильным интерфейсом UX.

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

Запуск групповой операции с файлами. Этот метод вызывается клиентом перед запуском некоторой операции с массовым файлом, например извлечения Git.

ThrowIfDisposed()

Создает исключение ObjectDisposedException, если этот объект был удален

(Унаследовано от DisposableObject)

События

BeforeFlushPendingFileChangeNotification

Отправляет сигнал Бефорефлушпендингфилечанженотификатион, когда Булкфилеоператион завершается до возобновления работы Филечанже Service.

Begin

Отправляет сигнал Begin, когда Булкфилеоператион начинается, и мы обработали все ожидающие сигналы службы Филечанже и приостановили ее.

Disposing

Вызывается, когда событие удаляется, но по-прежнему доступно.

(Унаследовано от DisposableObject)
End

Отправка завершающего сигнала, когда Булкфилеоператион заканчивается в самом конце.

Применяется к