Socket.EndSendFile(IAsyncResult) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Encerra um envio assíncrono pendente de um arquivo.
public:
void EndSendFile(IAsyncResult ^ asyncResult);
public void EndSendFile (IAsyncResult asyncResult);
member this.EndSendFile : IAsyncResult -> unit
Public Sub EndSendFile (asyncResult As IAsyncResult)
Parâmetros
- asyncResult
- IAsyncResult
Um objeto IAsyncResult que armazena informações de estado para essa operação assíncrona.
Exceções
Somente .NET 8+: o soquete não está conectado a um host remoto.
somente .NET Framework, .NET Core e .NET 5-6: o Socket foi fechado.
asyncResult
está vazio.
asyncResult
não foi retornado por uma chamada ao método BeginSendFile(String, AsyncCallback, Object).
EndSendFile(IAsyncResult) foi chamado anteriormente para o BeginSendFile(String, AsyncCallback, Object) assíncrono.
Comentários
Importante
Essa é uma API de compatibilidade. Não recomendamos usar os métodos APM (Begin*
e End*
) para novo desenvolvimento. Em vez disso, use os Task
equivalentes baseados em .
EndSendFile conclui a operação iniciada por BeginSend. Você precisa passar o IAsyncResult criado pela chamada correspondente BeginSend .
Se você estiver usando um protocolo sem conexão, EndSendFile será bloqueado até que o datagrama seja enviado. Se você estiver usando um protocolo orientado a conexão, EndSendFile será bloqueado até que todo o arquivo seja enviado. Não há nenhuma garantia de que os dados enviados serão exibidos na rede imediatamente. Para aumentar a eficiência da rede, o sistema subjacente pode atrasar a transmissão até que uma quantidade significativa de dados de saída seja coletada. Uma conclusão bem-sucedida do BeginSendFile método significa que o sistema subjacente teve espaço para armazenar seus dados em buffer para um envio de rede.
Observação
Se você receber um SocketException, use a SocketException.ErrorCode propriedade para obter o código de erro específico. Depois de obter esse código, consulte a documentação do código de erro da API do Windows Sockets versão 2 para obter uma descrição detalhada do erro.
Observação
Esse membro emite o rastreamento de informações quando você ativa o rastreamento de rede em seu aplicativo. Para obter mais informações, consulte Rastreamento de rede em .NET Framework.