CryptoStream.BeginWrite(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 scrittura asincrona. Si consiglia di usare WriteAsync.
public:
override IAsyncResult ^ BeginWrite(cli::array <System::Byte> ^ buffer, int offset, int count, AsyncCallback ^ callback, System::Object ^ state);
public override IAsyncResult BeginWrite (byte[] buffer, int offset, int count, AsyncCallback? callback, object? state);
public override IAsyncResult BeginWrite (byte[] buffer, int offset, int count, AsyncCallback callback, object state);
override this.BeginWrite : byte[] * int * int * AsyncCallback * obj -> IAsyncResult
Public Overrides Function BeginWrite (buffer As Byte(), offset As Integer, count As Integer, callback As AsyncCallback, state As Object) As IAsyncResult
Parametri
- buffer
- Byte[]
Buffer da cui scrivere i dati.
- offset
- Int32
Offset dei byte in buffer
da cui iniziare la scrittura.
- count
- Int32
Numero massimo di byte da scrivere.
- callback
- AsyncCallback
Callback asincrono facoltativo, da chiamare quando la scrittura è completa.
- state
- Object
Oggetto fornito dall'utente che distingue questa specifica richiesta di scrittura asincrona da altre richieste.
Restituisce
Oggetto IAsyncResult
che rappresenta la scrittura asincrona, che può essere ancora in sospeso.
Eccezioni
È stato eseguito un tentativo di scrittura asincrona oltre la fine del flusso o si è verificato un errore del disco.
Uno o più argomenti non sono validi.
Sono stati chiamati dei metodi dopo la chiusura del flusso.
L'implementazione corrente di Stream
non supporta l'operazione di scrittura.
Commenti
In .NET Framework 4 e versioni precedenti è necessario usare metodi come BeginWrite e EndWrite per implementare operazioni di I/O asincrone. Questi metodi sono ancora disponibili nelle versioni correnti per supportare il codice legacy; Tuttavia, i nuovi metodi asincroni, ad esempio ReadAsync, , WriteAsyncCopyToAsynce , FlushAsyncconsentono di implementare operazioni di I/O asincrone più facilmente.
Passare il IAsyncResult
valore restituito dal metodo corrente per EndWrite assicurarsi che la scrittura venga completata e libera le risorse in modo appropriato. EndWrite deve essere chiamato una sola volta per ogni chiamata a BeginWrite. È possibile eseguire questa operazione usando lo stesso codice chiamato BeginWrite
o in un callback passato a BeginWrite
. Se si verifica un errore durante una scrittura asincrona, un'eccezione non verrà generata finché EndWrite
non viene chiamata con il IAsyncResult
restituito da questo metodo.
Se un flusso è scrivibile, la scrittura alla fine del flusso espande il flusso.
La posizione corrente nel flusso viene aggiornata quando si rilascia la lettura asincrona o la scrittura, non quando l'operazione di I/O viene completata. Più richieste asincrone simultanee eseguono il rendering dell'ordine di completamento della richiesta incerto.
Utilizzare la proprietà per determinare se l'istanza corrente supporta la CanWrite scrittura.
Se un flusso è chiuso o si passa un argomento non valido, le eccezioni vengono generate immediatamente da BeginWrite
. Errori che si verificano durante una richiesta di scrittura asincrona, ad esempio un errore del disco durante la richiesta di I/O, si verificano nel thread del pool di thread e generano eccezioni quando si chiama EndWrite
.
Si applica a
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per