Socket.EndSendFile(IAsyncResult) 方法

定義

結束檔案的暫止非同步傳送。

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 是空的。

asyncResult 不會經由對 BeginSendFile(String, AsyncCallback, Object) 方法的呼叫傳回。

嘗試存取通訊端時發生錯誤。

-或-

僅限 .NET 7+ : Socket 已關閉 。

備註

重要

這是相容性 API。 不建議使用 APM (Begin*End*) 方法來進行新的開發。 請改用型對 Task 等專案。

EndSendFile 完成 由 BeginSend 啟動的作業。 您必須傳遞 IAsyncResultBeginSend 對呼叫所建立的 。

如果您使用無連線通訊協定, EndSendFile 請封鎖直到傳送資料包為止。 如果您使用連接導向通訊協定, EndSendFile 請封鎖直到傳送整個檔案為止。 不保證您傳送的資料會立即出現在網路上。 為了提升網路效率,基礎系統可能會延遲傳輸,直到收集大量的傳出資料為止。 方法成功完成 BeginSendFile 表示基礎系統有空間可緩衝處理網路傳送的資料。

注意

如果您收到 SocketException ,請使用 SocketException.ErrorCode 屬性來取得特定的錯誤碼。 取得此程式碼之後,請參閱 Windows Sockets 第 2 版 API 錯誤碼 檔,以取得錯誤的詳細描述。

注意

在應用程式中啟用網路追蹤時,這個成員會輸出追蹤資訊。 如需詳細資訊,請參閱.NET Framework 中的網路追蹤

適用於