Socket.EndSendFile(IAsyncResult) Método

Definição

Termina um envio assíncrono pendente de um ficheiro.

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 IAsyncResult objeto que armazena informação de estado para esta operação assíncrona.

Exceções

.NET 8+ apenas: O socket não está ligado a um host remoto.

.NET Framework, .NET Core e .NET 5-6 apenas: O Socket foi encerrado.

asyncResult está vazio.

asyncResult não foi respondido por uma chamada ao BeginSendFile(String, AsyncCallback, Object) método.

Ocorreu um erro ao tentar aceder ao soquete.

-ou-

.NET apenas 7+: O Socket foi encerrado.

Observações

Importante

Isto é uma API de compatibilidade. Não recomendamos o uso dos métodos APM (Begin* e End*) para novos desenvolvimentos. Em vez disso, use os Taskequivalentes baseados em .

EndSendFile completa a operação iniciada por BeginSend. Tem de passar a decisão IAsyncResult criada pela chamada correspondente BeginSend .

Se estiveres a usar um protocolo sem ligação, EndSendFile bloqueia até que o datagrama seja enviado. Se estiveres a usar um protocolo orientado à ligação, bloqueia EndSendFile até que todo o ficheiro seja enviado. Não há garantia de que os dados que envia apareçam imediatamente na rede. 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 recolhida. A conclusão bem-sucedida do BeginSendFile método significa que o sistema subjacente teve espaço para armazenar os seus dados para um envio em rede.

Note

Se receber um SocketException, use a SocketException.ErrorCode propriedade para obter o código de erro específico. Depois de obter este código, consulte a documentação do código de erro da API Windows versão 2 dos Sockets para uma descrição detalhada do erro.

Note

Esse membro gera informações de rastreamento quando você habilita o rastreamento de rede em seu aplicativo. Para mais informações, consulte Network Tracing in .NET Framework.

Aplica-se a