GZipStream.BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Zaman uyumsuz bir okuma işlemi başlatır. (Bunun yerine yöntemini kullanmayı ReadAsync(Byte[], Int32, Int32) göz önünde bulundurun.)
public:
override IAsyncResult ^ BeginRead(cli::array <System::Byte> ^ array, int offset, int count, AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public:
override IAsyncResult ^ BeginRead(cli::array <System::Byte> ^ buffer, int offset, int count, AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public override IAsyncResult BeginRead (byte[] array, int offset, int count, AsyncCallback? asyncCallback, object? asyncState);
public override IAsyncResult BeginRead (byte[] buffer, int offset, int count, AsyncCallback? asyncCallback, object? asyncState);
public override IAsyncResult BeginRead (byte[] array, int offset, int count, AsyncCallback asyncCallback, object asyncState);
override this.BeginRead : byte[] * int * int * AsyncCallback * obj -> IAsyncResult
override this.BeginRead : byte[] * int * int * AsyncCallback * obj -> IAsyncResult
Public Overrides Function BeginRead (array As Byte(), offset As Integer, count As Integer, asyncCallback As AsyncCallback, asyncState As Object) As IAsyncResult
Public Overrides Function BeginRead (buffer As Byte(), offset As Integer, count As Integer, asyncCallback As AsyncCallback, asyncState As Object) As IAsyncResult
Parametreler
- arraybuffer
- Byte[]
Verilerin okunduğu bayt dizisi.
- offset
- Int32
Akıştan veri okumaya başlayabileceğiniz bayt uzaklığı.
- count
- Int32
Okunacak bayt sayısı üst sınırı.
- asyncCallback
- AsyncCallback
Okuma işlemi tamamlandığında çağrılmak üzere isteğe bağlı bir zaman uyumsuz geri çağırma.
- asyncState
- Object
Bu belirli zaman uyumsuz okuma isteğini diğer isteklerden ayıran kullanıcı tarafından sağlanan bir nesne.
Döndürülenler
Hala beklemede olabilecek zaman uyumsuz okuma işlemini temsil eden bir nesne.
Özel durumlar
yöntemi akışın sonunun önünden zaman uyumsuz olarak okumaya çalıştı veya bir disk hatası oluştu.
Bir veya daha fazla bağımsız değişken geçersiz.
Akış kapatıldıktan sonra yöntemler çağrıldı.
Geçerli GZipStream uygulama okuma işlemini desteklemiyor.
Akış kapalı olduğundan okuma işlemi gerçekleştirilemiyor.
Açıklamalar
Önemli
.NET 6'dan başlayarak, bu yöntem istendiği kadar bayt okumayabilir. Daha fazla bilgi için bkz. DeflateStream, GZipStream ve CryptoStream'de kısmi ve sıfır bayt okumaları.
.NET Framework 4.5'den başlayarak, yöntemini kullanarak Stream.ReadAsync zaman uyumsuz okuma işlemleri gerçekleştirebilirsiniz. Yöntemi BeginRead , eski kodu desteklemek için geçerli sürümlerde hala kullanılabilir; ancak yeni zaman uyumsuz yöntemleri kullanarak zaman uyumsuz G/Ç işlemlerini daha kolay uygulayabilirsiniz. Daha fazla bilgi için bkz. Zaman uyumsuz dosya G/Ç.
IAsyncResult Okunan bayt sayısını belirlemek ve okuma için kullanılan işletim sistemi kaynaklarını serbest bırakmak için dönüş değerini EndRead akışın yöntemine geçirin. Bunu, çağrısıyla BeginRead aynı kodu kullanarak veya öğesine BeginReadgeçirilen bir geri çağırmada kullanabilirsiniz.
Akıştaki geçerli konum, G/Ç işlemi tamamlandığında değil, zaman uyumsuz okuma veya yazma yayımlandığında güncelleştirilir.
Birden çok eşzamanlı zaman uyumsuz istek, isteğin tamamlanma sırasını belirsiz hale getirir.
Geçerli GZipStream nesnenin CanRead okumayı destekleyip desteklemediğini belirlemek için özelliğini kullanın.
Bir akış kapatılırsa veya geçersiz bir bağımsız değişken geçirirseniz, özel durumlar hemen içinden BeginReadoluşturulur. G/Ç isteği sırasında disk hatası gibi zaman uyumsuz bir okuma isteği sırasında oluşan hatalar, iş parçacığı havuzu iş parçacığında oluşur ve çağrılırken EndReadözel durumlar oluşturur.