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 空無一人。
asyncResult 呼叫方法時未回傳 BeginSendFile(String, AsyncCallback, Object) 。
備註
這很重要
這是一個相容性 API。 我們不建議使用 APM (Begin* 和 End*)方法來進行新開發。 相反地,使用 Task基於 的等價函數。
EndSendFile 完成由 開始的 BeginSend運算。 你需要傳遞 IAsyncResult 由配對 BeginSend 呼叫創建的。
如果你使用無連線協定,會 EndSendFile 封鎖直到資料報被傳送。 如果你使用連線導向協定,會 EndSendFile 阻塞直到整個檔案都傳送完畢。 你傳送的資料無法立即顯示在網路上。 為了提升網路效率,底層系統可能會延遲傳輸,直到收集大量外出資料。 成功完成 BeginSendFile 此方法表示底層系統已有空間緩衝您的資料以便網路傳送。
備註
如果你收到 SocketException,請使用該 SocketException.ErrorCode 屬性取得特定的錯誤代碼。 取得此程式碼後,請參閱 Windows Sockets 版本 2 API 錯誤代碼 文件,以獲得錯誤的詳細說明。
備註
當您在應用程式中啟用網路追蹤時,此成員會輸出追蹤資訊。 欲了解更多資訊,請參閱 .NET Framework 中的網路追蹤。