Socket.EndSendFile(IAsyncResult) 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.
Termina l'invio asincrono di un file in sospeso.
public:
void EndSendFile(IAsyncResult ^ asyncResult);
public void EndSendFile (IAsyncResult asyncResult);
member this.EndSendFile : IAsyncResult -> unit
Public Sub EndSendFile (asyncResult As IAsyncResult)
Parametri
- asyncResult
- IAsyncResult
Oggetto IAsyncResult che memorizza le informazioni di stato per l'operazione asincrona.
Eccezioni
Solo .NET 8+: il socket non è connesso a un host remoto.
Solo .NET Framework, .NET Core e .NET 5-6: è Socket stato chiuso.
asyncResult
è vuoto.
asyncResult
non è stato restituito da una chiamata al metodo BeginSendFile(String, AsyncCallback, Object).
EndSendFile(IAsyncResult) è stato precedentemente chiamato il BeginSendFile(String, AsyncCallback, Object) asincrono.
Si è verificato un errore durante il tentativo di accesso al socket.
-oppure-
Solo .NET 7+: l'oggetto Socket è stato chiuso.
Commenti
Importante
Si tratta di un'API di compatibilità. Non è consigliabile usare i metodi APM (Begin*
e End*
) per nuovi sviluppi. Usare invece gli Task
equivalenti basati su .
EndSendFile completa l'operazione avviata da BeginSend. È necessario passare l'oggetto IAsyncResult creato dalla chiamata corrispondente BeginSend .
Se si usa un protocollo senza connessione, EndSendFile blocca fino all'invio del datagramma. Se si usa un protocollo orientato alla connessione, EndSendFile blocca fino a quando non viene inviato l'intero file. Non esiste alcuna garanzia che i dati inviati vengano visualizzati immediatamente nella rete. Per aumentare l'efficienza della rete, il sistema sottostante può ritardare la trasmissione fino a quando non viene raccolta una quantità significativa di dati in uscita. Un completamento corretto del BeginSendFile metodo indica che il sistema sottostante ha avuto spazio per memorizzare nel buffer i dati per un invio di rete.
Nota
Se si riceve un SocketExceptionoggetto , utilizzare la SocketException.ErrorCode proprietà per ottenere il codice di errore specifico. Dopo aver ottenuto questo codice, fare riferimento alla documentazione relativa al codice di errore dell'API Windows Sockets versione 2 per una descrizione dettagliata dell'errore.
Nota
Questo membro genera informazioni di traccia quando viene abilitata la funzionalità di traccia di rete nell'applicazione in uso. Per altre informazioni, vedere Traccia di rete in .NET Framework.