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
- Наследование
Свойства
| 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 |
Отправка завершающего сигнала, когда Булкфилеоператион заканчивается в самом конце. |