LocalFileContent - класс

Контент файла, доступный локально во временной папке пользователя.

Definition

Пространство имён: Tessa.Files
Сборка: Tessa (в Tessa.dll) Версия: 4.0.4
C#
public class LocalFileContent : FileContent
Inheritance
Object    NotificationObject    FileContent    LocalFileContent

Заметки

В классах-наследниках могут быть переопределены или дополнены методы.

Конструкторы

LocalFileContent(String, FuncIFileContent, ValueTask, IFileCancellationSource, RegisterFileDelayedDisposalAction, IFileContentNameReplacer) Создаёт контент файла, доступный локально во временной папке пользователя. После вызова конструктора объекта требуется инициализировать методом InitializeAsync(CancellationToken).
LocalFileContent(String, String, FuncIFileContent, ValueTask, IFileCancellationSource, RegisterFileDelayedDisposalAction, IFileContentNameReplacer) Создаёт контент файла, доступный локально в заданной папке. После вызова конструктора объекта требуется инициализировать методом InitializeAsync(CancellationToken).

Свойства

Cancellation Объект, который может использоваться для отмены асинхронных операций с содержимым файла, если оно поддерживает отмену. На текущий момент это доступно для загрузки содержимого версии файла.
(Унаследован от FileContent)
HasCurrentContentData Признак, который определяет доступность текущего контента для получения, например, по наличию файла в локальной папке. Свойство HasData определяет доступность как текущего контента, так и родительского. Связь родительский-дочерний актуально для последней версии файла.
(Унаследован от FileContent)
HasData Возвращает признак того, что контент файла был установлен методом SetAsync(Stream, CancellationToken).
(Унаследован от FileContent)
IsBoundToFileSource Признак того, что контент был создан источником файлов, а не передан снаружи, поэтому для оптимизации обращения к содержимому можно использовать источник файлов. Обычно актуально для Remote-контента.
(Переопределяет FileContentIsBoundToFileSource)
IsDirty Признак того, что контент мог быть изменён. Следует установить значение равным true перед открытием контента на редактирование во внешней программе. Определить точно, был ли изменён контент, можно, вызвав метод IsModifiedAsync(CancellationToken).
(Унаследован от FileContent)
IsDisposed Признак того, что контент был освобождён и объект нельзя использовать.
(Унаследован от FileContent)
IsLocal Признак того, что контент является локальным, т.е. к нему можно получить локальный путь посредством метода GetLocalFilePath.
(Переопределяет FileContentIsLocal)
IsSealedПризнак того, что объект был защищён от изменений.
(Унаследован от FileContent)
Parent Родительский контент или null, если родительский контент отсутствует. Если производится запрос текущего контента, и он не был установлен, то он сначала локально копируется из родительского, если тот существует, а затем считывается локально.
(Унаследован от FileContent)
RequestInfo Дополнительная пользовательская информация, передаваемая в запросы к серверу, которые относятся к загрузке содержимого файла или версии, которые сохраняются в текущем объекте. Рекомендуется, чтобы все данные были сериализуемых типов (в соответствии с типовой BSON-сериализацией в системе). Такие данные могут перезаписать данные из RequestInfo.
(Унаследован от FileContent)
Size Размер контента файла в байтах или 0, если контент ещё не был загружен. Проверить, был ли загружен контент, можно, обратившись к свойству HasData.
(Унаследован от FileContent)
Uri Ссылка к контенту файла, который может быть доступен как локально (на диске), так и удалённо (сетевой ресурс). Значение может быть равно null, если контент недоступен по ссылке.
(Переопределяет FileContentUri)

Методы

CheckDisposed Выбрасывает исключение [ObjectDisposedException], если ресурсы текущего объекта были освобождены.
(Унаследован от FileContent)
DisposeAsyncPerforms application-defined tasks associated with freeing, releasing, or resetting unmanaged resources asynchronously.
(Унаследован от FileContent)
DisposeAsync(Boolean)Освобождает ресурсы, занимаемые объектом.
(Унаследован от FileContent)
EnsureLocalUpdatedAsync Удостоверяет, что файл будет загружен локально и доступен по пути GetLocalFilePath, если файл является локальным IsLocal. Если файл не локальный, то метод не выполняет действий.
(Унаследован от FileContent)
EnterLockAsync Выполняет вход в блок, в пределах которого нет других обращений к контенту файла. Вызовите метод в блоке using(await content.EnterLockAsync().ConfigureAwait(false)).
(Унаследован от FileContent)
EqualsDetermines whether the specified object is equal to the current object.
(Унаследован от Object)
FinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Унаследован от Object)
GetAsync Открывает и возвращает поток с контентом файла. Если контент файла отсутствует, то вызывает исключение InvalidOperationException. Поэтому перед получением контента можно обратиться к свойству HasData.
(Унаследован от FileContent)
GetCoreAsync Возвращает поток с содержимым файла. Если файл не был загружен, то может быть выброшено исключение.
(Переопределяет FileContentGetCoreAsync(CancellationToken))
GetHashCodeServes as the default hash function.
(Унаследован от Object)
GetLocalFilePath Возвращает локальный путь к контенту файла, если контент доступен локально. Если контент не доступен локально, то вызывает исключение InvalidOperationException. Поэтому перед вызовом метода можно обратиться к свойству IsLocal.
(Унаследован от FileContent)
GetLocalFilePathCore Возвращает путь к файлу с локальным контентом, даже если он ещё не был загружен, или null, если контент не представлен локальным файлом.
(Переопределяет FileContentGetLocalFilePathCore)
GetTypeGets the Type of the current instance.
(Унаследован от Object)
InitializeAsyncВыполняет асинхронную инициализацию объекта.
(Унаследован от FileContent)
InvalidateAsync Удаляет локально загруженный контент, переводя его в начальное состояние. Следующий раз при получении контента он будет заново загружен.
(Унаследован от FileContent)
InvalidateCoreAsync Сбрасывает информацию о контенте файла. Например, очищает дату изменения файла. Если контент не является локальным, то может не выполнять действий.
(Переопределяет FileContentInvalidateCoreAsync(CancellationToken))
IsModifiedAsync Возвращает признак того, что контент файла на диске был изменён с момента его установки методом SetAsync(Stream, CancellationToken). Для защищённых от изменений объектов метод всегда возвращает false.
(Унаследован от FileContent)
IsModifiedCoreAsync

Возвращает признак того, что локальный контент был изменён. Например, был изменён файл на диске по дате изменения.

При изменении контента может быть обновлён его размер, а также он может быть, например, помечен как изменённый в структуре карточки.


(Переопределяет FileContentIsModifiedCoreAsync(CancellationToken))
MemberwiseCloneCreates a shallow copy of the current Object.
(Унаследован от Object)
OnPropertyChanged(PropertyChangedEventArgs) Уведомляет об изменении свойства с именем, заданным в аргументах события.
(Унаследован от NotificationObject)
OnPropertyChanged(String) Уведомляет об изменении свойства с заданным именем у объекта.
(Унаследован от NotificationObject)
OnPropertyChangedAsync(PropertyChangedEventArgs, Boolean) Уведомляет об изменении свойства с именем, заданным в аргументах события, асинхронно, в соответствии с принятым для текущего объекта поведением. Если есть возможность вызвать событие синхронно, то оно вызывается синхронно. Если объект является моделью представления WPF и текущий поток отличен от потока диспетчера WPF для приложения (основной поток UI), то выполнение асинхронно переключается в этот поток. Если это не так, то событие выполняется синхронно.
(Унаследован от NotificationObject)
OnPropertyChangedAsync(String, Boolean) Уведомляет об изменении свойства с заданным именем у объекта асинхронно, в соответствии с принятым для текущего объекта поведением. Если есть возможность вызвать событие синхронно, то оно вызывается синхронно. Если объект является моделью представления WPF и текущий поток отличен от потока диспетчера WPF для приложения (основной поток UI), то выполнение асинхронно переключается в этот поток. Если это не так, то событие выполняется синхронно.
(Унаследован от NotificationObject)
PrepareContentLocationCoreAsync Подготавливает местоположение контента перед его записью или перемещением в это местоположение. Например, создаёт папку на диске, если контент представлен файлом на диске.
(Переопределяет FileContentPrepareContentLocationCoreAsync(CancellationToken))
RemoveContentSafeCoreAsync Метод удаляет локальный контент, если он был создан. Если контент не является локальным, то метод не должен выполнять действий. Метод не должен выбрасывать исключений, даже критичных.
(Переопределяет FileContentRemoveContentSafeCoreAsync(CancellationToken))
RenameAsync Переименовывает файл, в который записывается контент. Если файл ещё не существует, то он будет назван по-другому в момент создания. Метод гарантированно сработает только в том случае, если контент является локальным, т.е. свойство IsLocal возвращает true.
(Унаследован от FileContent)
RenameCoreAsync Переименовывает имя контента в соответствии с новым именем файла. Если контент представлен локальным файлом на диске, то метод должен переименовать этот файл. Если контент не является локальным, то метод может не выполнять действий.
(Переопределяет FileContentRenameCoreAsync(String, CancellationToken))
SealЗащищает объект от изменений.
(Унаследован от FileContent)
SetAsync Открывает и возвращает поток, выполняющий перезапись контента файла.
(Унаследован от FileContent)
SetCoreAsync Устанавливает содержимое файла. Если контент запрещено изменять, то может быть выброшено исключение.
(Переопределяет FileContentSetCoreAsync(Stream, CancellationToken))
SetLocalAsync Устанавливает контент локального файла по заданному пути.
(Унаследован от FileContent)
SetLocalCoreAsync Устанавливает локальное содержимое файла, представленное в виде файла на диске, по заданному методу, который получает в параметре путь к файлу на диске и может его создать или изменить некоторым способом. Если содержимое файла не является локальным, то может быть выброшено исключение.
(Переопределяет FileContentSetLocalCoreAsync(FuncString, CancellationToken, ValueTask, CancellationToken))
SetRemoteAsync Устанавливает содержимое файла, представленное заданными методами. Если контент запрещено изменять, то может быть выброшено исключение. Метод доступен как для локальных файлов, так и для нелокальных (remote), в т.ч. для файлов большого размера.
(Унаследован от FileContent)
SetRemoteCoreAsync Устанавливает содержимое файла, представленное заданными методами. Если контент запрещено изменять, то может быть выброшено исключение. Метод доступен как для локальных файлов, так и для нелокальных (remote), в т.ч. для файлов большого размера.
(Переопределяет FileContentSetRemoteCoreAsync(FuncCancellationToken, ValueTaskStream, FuncCancellationToken, ValueTaskInt64, CancellationToken))
ToStringReturns a string that represents the current object.
(Унаследован от Object)
UpdateLocalContentFromParentCoreAsync

Обновляет локальный контент на основании контента родительского объекта.

При вызове этого метода гарантируется, что у текущего контента есть родительский контент, в котором присутствуют загруженные данные.

Если контент не локальный, то метод может не выполнять действий, но не должен выбрасывать исключений.


(Переопределяет FileContentUpdateLocalContentFromParentCoreAsync(CancellationToken))
UpdateModifiedCoreAsync Обновляет информацию, на основании которой можно определить, изменялся ли контент. Например, сохраняет время изменения файла, чтобы его можно было сравнить со временем изменения в любой другой момент.
(Переопределяет FileContentUpdateModifiedCoreAsync(CancellationToken))
UpdateSizeAsync Обновляет свойство с размером контента Size для загруженных файлов.
(Унаследован от FileContent)
UpdateSizeCoreAsync Обновляет размер локального контента. Возвращает true, если размер был обновлён.
(Переопределяет FileContentUpdateSizeCoreAsync(CancellationToken))

События

PropertyChangedСобытие, уведомляющее об изменении свойства с определённым именем у модели представления.
(Унаследован от NotificationObject)

Методы расширения

Get
(Определяется ComHelper)
Invoke
(Определяется ComHelper)
Set
(Определяется ComHelper)

См. также