SqlFileStream Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет данные SQL Server, хранящиеся с атрибутом столбца FILESTREAM в виде последовательности байтов.
public ref class SqlFileStream sealed : System::IO::Stream
public sealed class SqlFileStream : System.IO.Stream
type SqlFileStream = class
inherit Stream
Public NotInheritable Class SqlFileStream
Inherits Stream
- Наследование
Комментарии
Класс SqlFileStream используется для работы с данными varbinary(max), хранящимися с атрибутом FILESTREAM в базе данных SQL Server 2008. Чтобы использовать SqlFileStream для работы с данными FILESTREAM, необходимо установить .NET Framework 3.5 с пакетом обновления 1 (SP1) или более поздней версии.
Указание атрибута FILESTREAM в столбце varbinary(max) приводит к тому, что SQL Server хранит данные в локальной файловой системе NTFS вместо файла базы данных. операторы Transact-SQL предоставляют возможности обработки данных на сервере, а интерфейсы файловой системы Win32 предоставляют потоковый доступ к данным.
Заметка
Отдельные файлы, хранящиеся в столбце FILESTREAM, нельзя открыть непосредственно из файловой системы NTFS. Потоковая передача данных FILESTREAM работает только в контексте транзакции SQL Server.
Класс SqlFileStream является производным от класса Stream, который представляет абстракцию последовательности байтов из какого-либо произвольного источника данных, например файла или блока памяти. Считывать данные из FILESTREAM можно путем передачи данных из потока в структуру данных, например массив байтов. Вы можете записать данные в FILESTREAM, передав данные из структуры данных в поток. Вы также можете искать в потоке, что позволяет запрашивать и изменять данные в текущей позиции в потоке.
Примеры концептуальной документации и кода см. в данных FILESTREAM.
Документация по настройке и настройке данных FILESTREAM в SQL Server см. в разработке и реализации хранилища FILESTREAM в электронной документации по SQL Server 2008.
Конструкторы
| SqlFileStream(String, Byte[], FileAccess, FileOptions, Int64) |
Инициализирует новый экземпляр класса SqlFileStream. |
| SqlFileStream(String, Byte[], FileAccess) |
Инициализирует новый экземпляр класса SqlFileStream. |
Свойства
| CanRead |
Возвращает значение, указывающее, поддерживает ли текущий поток чтение. |
| CanSeek |
Возвращает значение, указывающее, поддерживает ли текущий поток поиск. |
| CanTimeout |
Возвращает значение, указывающее, может ли текущий поток истекает. |
| CanWrite |
Возвращает значение, указывающее, поддерживает ли текущий поток запись. |
| Length |
Возвращает значение, указывающее длину текущего потока в байтах. |
| Name |
Возвращает логический путь SqlFileStream, переданный конструктору. |
| Position |
Возвращает или задает позицию в текущем потоке. |
| ReadTimeout |
Возвращает или задает значение в миллисекундах, которое определяет, сколько времени поток попытается прочитать до истечения времени ожидания. |
| TransactionContext |
Возвращает или задает контекст транзакции для этого объекта SqlFileStream. |
| WriteTimeout |
Возвращает или задает значение в миллисекундах, определяющее, сколько времени поток попытается записать до истечения времени ожидания. |
Методы
| BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) |
Начинает асинхронную операцию чтения. |
| BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) |
Начинает асинхронную операцию записи. |
| Close() |
Закрывает текущий поток и освобождает все ресурсы (например, сокеты и дескрипторы файлов), связанные с текущим потоком. Вместо вызова этого метода убедитесь, что поток правильно удален. (Унаследовано от Stream) |
| CopyTo(Stream, Int32) |
Считывает байты из текущего потока и записывает их в другой поток, используя указанный размер буфера. Обе позиции потоков расширены по количеству скопированных байтов. (Унаследовано от Stream) |
| CopyTo(Stream) |
Считывает байты из текущего потока и записывает их в другой поток. Обе позиции потоков расширены по количеству скопированных байтов. (Унаследовано от Stream) |
| CopyToAsync(Stream, CancellationToken) |
Асинхронно считывает байты из текущего потока и записывает их в другой поток с помощью указанного маркера отмены. Обе позиции потоков расширены по количеству скопированных байтов. (Унаследовано от Stream) |
| CopyToAsync(Stream, Int32, CancellationToken) |
Асинхронно считывает байты из текущего потока и записывает их в другой поток, используя указанный размер буфера и маркер отмены. Обе позиции потоков расширены по количеству скопированных байтов. (Унаследовано от Stream) |
| CopyToAsync(Stream, Int32) |
Асинхронно считывает байты из текущего потока и записывает их в другой поток, используя указанный размер буфера. Обе позиции потоков расширены по количеству скопированных байтов. (Унаследовано от Stream) |
| CopyToAsync(Stream) |
Асинхронно считывает байты из текущего потока и записывает их в другой поток. Обе позиции потоков расширены по количеству скопированных байтов. (Унаследовано от Stream) |
| CreateObjRef(Type) |
Создает объект, содержащий все соответствующие сведения, необходимые для создания прокси-сервера, используемого для взаимодействия с удаленным объектом. (Унаследовано от MarshalByRefObject) |
| CreateWaitHandle() |
Устаревшие..
Устаревшие..
Устаревшие..
Выделяет объект WaitHandle. (Унаследовано от Stream) |
| Dispose() |
Освобождает все ресурсы, используемые Stream. (Унаследовано от Stream) |
| Dispose(Boolean) |
Освобождает неуправляемые ресурсы, используемые Stream, и при необходимости освобождает управляемые ресурсы. (Унаследовано от Stream) |
| DisposeAsync() |
Асинхронно освобождает неуправляемые ресурсы, используемые Stream. (Унаследовано от Stream) |
| EndRead(IAsyncResult) |
Ожидает завершения ожидающего асинхронного чтения. |
| EndWrite(IAsyncResult) |
Завершает асинхронную операцию записи. |
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| Finalize() |
Гарантирует, что ресурсы освобождены и другие операции очистки выполняются, когда сборщик мусора освобождает SqlFileStream. |
| Flush() |
очищает все буферы для этого потока и приводит к записи буферных данных на базовое устройство. |
| FlushAsync() |
Асинхронно очищает все буферы для этого потока и приводит к записи всех буферных данных на базовое устройство. (Унаследовано от Stream) |
| FlushAsync(CancellationToken) |
Асинхронно очищает все буферы для этого потока, приводит к записи всех буферных данных на базовое устройство и отслеживает запросы на отмену. (Унаследовано от Stream) |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetLifetimeService() |
Устаревшие..
Извлекает текущий объект службы времени существования, который управляет политикой времени существования для этого экземпляра. (Унаследовано от MarshalByRefObject) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| InitializeLifetimeService() |
Устаревшие..
Получает объект службы времени существования для управления политикой времени существования для этого экземпляра. (Унаследовано от MarshalByRefObject) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| MemberwiseClone(Boolean) |
Создает неглубокую копию текущего объекта MarshalByRefObject. (Унаследовано от MarshalByRefObject) |
| ObjectInvariant() |
Устаревшие..
Предоставляет поддержку Contract. (Унаследовано от Stream) |
| Read(Byte[], Int32, Int32) |
Считывает последовательность байтов из текущего потока и перемещает позицию в потоке по числу байтов. |
| Read(Span<Byte>) |
При переопределении в производном классе считывает последовательность байтов из текущего потока и перемещает положение в потоке по количеству байтов, считываемых. (Унаследовано от Stream) |
| ReadAsync(Byte[], Int32, Int32, CancellationToken) |
Асинхронно считывает последовательность байтов из текущего потока, перемещает положение в потоке по количеству операций чтения байтов и отслеживает запросы на отмену. (Унаследовано от Stream) |
| ReadAsync(Byte[], Int32, Int32) |
Асинхронно считывает последовательность байтов из текущего потока и перемещает позицию в потоке по числу байтов. (Унаследовано от Stream) |
| ReadAsync(Memory<Byte>, CancellationToken) |
Асинхронно считывает последовательность байтов из текущего потока, перемещает положение в потоке по количеству операций чтения байтов и отслеживает запросы на отмену. (Унаследовано от Stream) |
| ReadAtLeast(Span<Byte>, Int32, Boolean) |
Считывает по крайней мере минимальное количество байтов из текущего потока и перемещает положение в потоке по количеству байтов, считываемых. (Унаследовано от Stream) |
| ReadAtLeastAsync(Memory<Byte>, Int32, Boolean, CancellationToken) |
Асинхронно считывает по крайней мере минимальное количество байтов из текущего потока, перемещает положение в потоке по количеству операций чтения байтов и отслеживает запросы на отмену. (Унаследовано от Stream) |
| ReadByte() |
Считывает байт из потока и перемещает позицию в потоке по одному байту или возвращает -1, если в конце потока. |
| ReadExactly(Byte[], Int32, Int32) |
Считывает |
| ReadExactly(Span<Byte>) |
Считывает байты из текущего потока и перемещает позицию в потоке до заполнения |
| ReadExactlyAsync(Byte[], Int32, Int32, CancellationToken) |
Асинхронно считывает |
| ReadExactlyAsync(Memory<Byte>, CancellationToken) |
Асинхронно считывает байты из текущего потока, перемещает положение в потоке до заполнения |
| Seek(Int64, SeekOrigin) |
Задает позицию в текущем потоке. |
| SetLength(Int64) |
Задает длину текущего потока. |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
| Write(Byte[], Int32, Int32) |
Записывает последовательность байтов в текущий поток и перемещает текущую позицию в этом потоке по количеству записанных байтов. |
| Write(ReadOnlySpan<Byte>) |
При переопределении в производном классе записывает последовательность байтов в текущий поток и перемещает текущую позицию в этом потоке по количеству записанных байтов. (Унаследовано от Stream) |
| WriteAsync(Byte[], Int32, Int32, CancellationToken) |
Асинхронно записывает последовательность байтов в текущий поток, перемещает текущую позицию в этом потоке по количеству записанных байтов и отслеживает запросы на отмену. (Унаследовано от Stream) |
| WriteAsync(Byte[], Int32, Int32) |
Асинхронно записывает последовательность байтов в текущий поток и перемещает текущую позицию в этом потоке по количеству записанных байтов. (Унаследовано от Stream) |
| WriteAsync(ReadOnlyMemory<Byte>, CancellationToken) |
Асинхронно записывает последовательность байтов в текущий поток, перемещает текущую позицию в этом потоке по количеству записанных байтов и отслеживает запросы на отмену. (Унаследовано от Stream) |
| WriteByte(Byte) |
Записывает байт в текущую позицию в потоке и перемещает позицию в потоке по одному байту. |
Методы расширения
| CopyToAsync(Stream, PipeWriter, CancellationToken) |
Асинхронно считывает байты из Stream и записывает их в указанный PipeWriterс помощью маркера отмены. |