Socket.EndSendFile(IAsyncResult) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Kończy oczekujące asynchroniczne wysyłanie pliku.
public:
void EndSendFile(IAsyncResult ^ asyncResult);
public void EndSendFile(IAsyncResult asyncResult);
member this.EndSendFile : IAsyncResult -> unit
Public Sub EndSendFile (asyncResult As IAsyncResult)
Parametry
- asyncResult
- IAsyncResult
Obiekt IAsyncResult , który przechowuje informacje o stanie dla tej operacji asynchronicznej.
Wyjątki
Tylko program .NET 8+: gniazdo nie jest połączone z hostem zdalnym.
Tylko programy .NET Framework, .NET Core i .NET 5-6: Socket plik został zamknięty.
asyncResult jest pusta.
asyncResult nie został zwrócony przez wywołanie BeginSendFile(String, AsyncCallback, Object) metody .
EndSendFile(IAsyncResult) element został wcześniej wywołany jako asynchroniczny BeginSendFile(String, AsyncCallback, Object).
Wystąpił błąd podczas próby uzyskania dostępu do gniazda.
— lub —
Tylko platforma .NET 7+ : Socket element został zamknięty.
Uwagi
Ważna
Jest to interfejs API zgodności. Nie zalecamy używania metod APM (Begin* i End*) na potrzeby nowego programowania. Zamiast tego użyj odpowiedników opartych na Taskprotokole .
EndSendFile kończy operację uruchomioną przez BeginSend. Musisz przekazać utworzony IAsyncResult przez pasujące BeginSend wywołanie.
Jeśli używasz protokołu bez połączenia, EndSendFile blokuje do momentu wysłania datagramu. Jeśli używasz protokołu zorientowanego na połączenie, EndSendFile blokuje do momentu wysłania całego pliku. Nie ma gwarancji, że wysyłane dane będą natychmiast wyświetlane w sieci. Aby zwiększyć wydajność sieci, podstawowy system może opóźnić transmisję do momentu zebrania znacznej ilości danych wychodzących. Pomyślne ukończenie BeginSendFile metody oznacza, że podstawowy system miał miejsce na buforować dane dla wysyłania sieciowego.
Uwaga / Notatka
Jeśli zostanie wyświetlony element SocketException, użyj SocketException.ErrorCode właściwości , aby uzyskać określony kod błędu. Po uzyskaniu tego kodu zapoznaj się z dokumentacją kodu błędu interfejsu API windows Sockets w wersji 2 , aby uzyskać szczegółowy opis błędu.
Uwaga / Notatka
Ten członek generuje dane śledzenia po włączeniu śledzenia sieci w aplikacji. Aby uzyskać więcej informacji, zobacz Śledzenie sieci w programie .NET Framework.