Aracılığıyla paylaş


Stream.EndRead(IAsyncResult) Yöntem

Tanım

Bekleyen zaman uyumsuz okumanın tamamlanmasını bekler. (Bunun yerine kullanmayı ReadAsync(Byte[], Int32, Int32) düşünün.)

public:
 virtual int EndRead(IAsyncResult ^ asyncResult);
public virtual int EndRead (IAsyncResult asyncResult);
abstract member EndRead : IAsyncResult -> int
override this.EndRead : IAsyncResult -> int
Public Overridable Function EndRead (asyncResult As IAsyncResult) As Integer

Parametreler

asyncResult
IAsyncResult

Bitmek üzere bekleyen zaman uyumsuz istek başvurusu.

Döndürülenler

Sıfır (0) ile istenen bayt sayısı arasında akıştan okunan bayt sayısı. ReadAsync sıfır (0) değerini yalnızca sıfır bayt istendiyse veya akışın sonunda olduğundan daha fazla bayt yoksa döndürür; aksi takdirde, en az bir bayt kullanılabilir olana kadar okuma işlemleri tamamlanmaz. Sıfır bayt istenirse, okuma işlemleri hemen tamamlanabilir veya en az bir bayt kullanılabilir olana kadar (ancak herhangi bir veri kullanılmadan) tamamlanmayabilir.

Özel durumlar

asyncResult, null değeridir.

Bekleyen okuma işleminin tanıtıcısı kullanılamıyor.

-veya-

Bekleyen işlem okumayı desteklemiyor.

asyncResult geçerli akış üzerindeki bir BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) yöntemden kaynaklanmadı.

Akış kapatıldı veya bir iç hata oluştu.

Açıklamalar

.NET Framework 4 ve önceki sürümlerde, zaman uyumsuz G/Ç işlemlerini uygulamak için BeginRead ve EndRead gibi yöntemler kullanmanız gerekir. Bu yöntemler, eski kodu desteklemek için .NET Framework 4.5'te hala kullanılabilir; ancak , WriteAsync, CopyToAsyncve FlushAsyncgibi ReadAsyncyeni zaman uyumsuz yöntemler zaman uyumsuz G/Ç işlemlerini daha kolay uygulamanıza yardımcı olur.

Akıştan kaç bayt okundu belirlemek için çağrısı EndRead .

EndReadher üzerinden BeginReadbir kez IAsyncResult çağrılabilir.

Bu yöntem G/Ç işlemi tamamlanana kadar engeller.

Şunlara uygulanır

Ayrıca bkz.