Socket.EndSendFile(IAsyncResult) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
结束文件的挂起异步发送。
public:
void EndSendFile(IAsyncResult ^ asyncResult);
public void EndSendFile (IAsyncResult asyncResult);
member this.EndSendFile : IAsyncResult -> unit
Public Sub EndSendFile (asyncResult As IAsyncResult)
参数
- asyncResult
- IAsyncResult
IAsyncResult 对象,它存储此异步操作的状态信息。
例外
仅限 .NET 8+:套接字未连接到远程主机。
仅.NET Framework、.NET Core 和 .NET 5-6:Socket已关闭。
asyncResult
为空。
对 BeginSendFile(String, AsyncCallback, Object) 方法的调用未返回 asyncResult
。
注解
重要
这是一个兼容性 API。 不建议使用 APM (Begin*
和 End*
) 方法进行新开发。 请改用 Task
基于 的等效项。
EndSendFile 完成由 BeginSend启动的操作。 需要传递 IAsyncResult 由匹配 BeginSend 调用创建的 。
如果使用无连接协议, EndSendFile 则阻止,直到发送数据报。 如果使用面向连接的协议,将阻止, EndSendFile 直到发送整个文件。 无法保证发送的数据会立即出现在网络上。 为了提高网络效率,基础系统可能会延迟传输,直到收集大量传出数据。 方法的 BeginSendFile 成功完成意味着基础系统有空间来缓冲网络发送的数据。
注意
如果收到 , SocketException请使用 SocketException.ErrorCode 属性获取特定的错误代码。 获取此代码后,请参阅 Windows 套接字版本 2 API 错误代码 文档,了解错误的详细说明。
备注
当你在应用程序中启用网络跟踪后,此成员将输出跟踪信息。 有关详细信息,请参阅 .NET Framework 中的网络跟踪。