BufferedStream.BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Inizia un'operazione di lettura asincrona. Si consiglia di usare ReadAsync(Byte[], Int32, Int32, CancellationToken).
public:
override IAsyncResult ^ BeginRead(cli::array <System::Byte> ^ buffer, int offset, int count, AsyncCallback ^ callback, System::Object ^ state);
public override IAsyncResult BeginRead (byte[] buffer, int offset, int count, AsyncCallback? callback, object? state);
public override IAsyncResult BeginRead (byte[] buffer, int offset, int count, AsyncCallback callback, object state);
public override IAsyncResult BeginRead (byte[] buffer, int offset, int count, AsyncCallback callback, object? state);
override this.BeginRead : byte[] * int * int * AsyncCallback * obj -> IAsyncResult
Public Overrides Function BeginRead (buffer As Byte(), offset As Integer, count As Integer, callback As AsyncCallback, state As Object) As IAsyncResult
Parametri
- buffer
- Byte[]
Buffer in cui leggere i dati.
- offset
- Int32
Offset dei byte nel buffer
da cui iniziare la scrittura dei dati letti dal flusso.
- count
- Int32
Numero massimo di byte da leggere.
- callback
- AsyncCallback
Callback asincrono facoltativo, da chiamare quando la lettura è completa.
- state
- Object
Oggetto fornito dall'utente che distingue questa specifica richiesta di lettura asincrona da altre richieste.
Restituisce
Oggetto che rappresenta la lettura asincrona, che può essere ancora in sospeso.
Eccezioni
buffer
è null
.
offset
o count
è negativo.
Si è tentato di eseguire la lettura asincrona oltre la fine del flusso.
La lunghezza del buffer meno offset
è minore di count
.
Il flusso corrente non supporta l'operazione di lettura.
Commenti
In .NET Framework 4 e versioni precedenti è necessario usare metodi come BeginRead e EndRead per implementare operazioni di file asincrone. Questi metodi sono ancora disponibili in .NET Framework 4.5 per supportare il codice legacy; Tuttavia, i nuovi metodi asincroni, ad esempio ReadAsync, WriteAsynce FlushAsync, consentono di implementare più facilmente le operazioni asincrone sui file.
EndWrite deve essere chiamato esattamente una volta per ogni chiamata a BeginRead. L'esito negativo di un processo di lettura prima di iniziare un'altra lettura può causare un comportamento indesiderato, ad esempio deadlock.
Nota
Utilizzare la CanRead proprietà per determinare se l'istanza corrente supporta la lettura.
EndRead deve essere chiamato con questo IAsyncResult per scoprire quanti byte sono stati letti.