Windows.Networking.BackgroundTransfer 命名空間
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
在應用程式中啟用進階下載和上傳傳輸功能。 如需背景傳輸功能的概觀,請參閱 在背景傳輸資料。 下載 程式碼範例的背景傳輸範例 。
注意
背景傳輸主要是針對影片、音樂和大型影像等資源的長期傳輸作業所設計。 對於涉及傳輸較小資源 (的短期作業,例如幾個 KB) ,建議使用 HTTP API。 HttpClient 是慣用的,可用於 UWP 應用程式支援的所有語言。 XHR 可用於 JavaScript。 IXHR2 可用於 C++。
類別
BackgroundDownloader |
用來在使用 CreateDownload實際建立下載作業之前設定下載。 如需背景傳輸功能的概觀,請參閱 在背景傳輸資料。 下載 程式碼範例的背景傳輸範例 。 注意 背景傳輸主要是針對影片、音樂和大型影像等資源的長期傳輸作業所設計。 對於涉及傳輸較小資源 (的短期作業,也就是幾個 KB) ,請使用 Windows.Web.Http 命名空間。 |
BackgroundTransferCompletionGroup |
代表一組背景傳輸作業, (DownloadOperation 或 UploadOperation 物件) 一旦完成所有作業, (作業) 順利完成或發生錯誤時觸發背景工作。 |
BackgroundTransferCompletionGroupTriggerDetails |
包含BackgroundTransferCompletionGroup的相關資訊,該群組只能從IBackgroundTask上的Run方法存取。 |
BackgroundTransferContentPart |
表示多部分傳輸要求的內容部分。 每個 BackgroundTransferContentPart 物件都可以代表文字內容的單一字串或單一檔案承載,但不能同時代表這兩者。 |
BackgroundTransferError |
用來提供傳輸作業期間遇到的錯誤。 |
BackgroundTransferGroup |
用來建立多個下載或上傳作業關聯之具名群組。 此類別可讓您的應用程式輕鬆地建立這些群組,並同時完成下載和上傳、序列或根據優先順序。 例如,如果使用者決定從熱門電視系列下載和watch集,您的應用程式可以排定系列中最早的劇集的優先順序,或讓使用者選擇要先下載的劇集。 |
BackgroundTransferRangesDownloadedEventArgs |
提供累加式下載進度事件相關資訊的存取權。 |
BackgroundUploader |
用來在使用 CreateUpload實際建立上傳作業之前設定上傳。 如需背景傳輸功能的概觀,請參閱 在背景傳輸資料。 下載 程式碼範例的背景傳輸範例 。 注意 背景傳輸主要是針對影片、音樂和大型影像等資源的長期傳輸作業所設計。 對於涉及傳輸較小資源 (的短期作業,也就是幾個 KB) ,請使用 Windows.Web.Http 命名空間。 |
ContentPrefetcher |
提供屬性,以指定要預先擷取的 Web 資源。 Windows 會使用啟發學習法,在使用者啟動您的應用程式之前,嘗試下載指定的資源。 |
DownloadOperation | |
ResponseInformation |
表示伺服器回應所傳回的資料。 |
UnconstrainedTransferRequestResult |
表示來自 BackgroundDownloader 或 BackgroundUploader 物件之未受限制傳輸的要求結果。 不受限制的傳輸作業可以執行,而不需要通常與背景網路作業相關聯的資源限制,而裝置在電池上執行。 |
UploadOperation |
執行非同步上傳作業。 如需背景傳輸功能的概觀,請參閱 在背景傳輸資料。 下載 程式碼範例的背景傳輸範例 。 |
結構
BackgroundDownloadProgress |
包含下載作業的狀態資訊。 |
BackgroundTransferFileRange |
包含檔案傳輸作業的狀態資訊。 |
BackgroundUploadProgress |
包含上傳作業的狀態資訊。 |
介面
IBackgroundTransferBase |
表示背景傳輸作業。 |
IBackgroundTransferContentPartFactory | |
IBackgroundTransferOperation |
表示背景傳輸作業。 |
IBackgroundTransferOperationPriority |
使用此介面來判斷 BackgroundTransferGroup內下載或上傳的優先順序。 可能的值是由 BackgroundTransferPriority 列舉所定義。 |
列舉
BackgroundTransferBehavior |
定義值,這個值用來指出 BackgroundTransferGroup 內的下載和上傳是否在同時或序列中執行。 |
BackgroundTransferCostPolicy |
定義值,這個值可用來指定是否可以在計量付費網路上進行傳輸。 |
BackgroundTransferPriority |
指出 BackgroundTransfer 作業 (下載或上傳) 就應用程式內的排程而言,優先順序。 |
BackgroundTransferStatus |
定義傳送作業狀態值。 |
備註
在大部分平臺上,即使應用程式已暫停或結束時,背景傳輸仍會繼續傳輸您的檔案 (下載或上傳) 。 當您的應用程式啟動時,您應該呼叫 BackgroundDownloader.GetCurrentDownloadsAsync 或 BackgroundUploader.GetCurrentUploadsAsync 來列舉所有不完整的傳輸。 然後在每一個上分別呼叫 DownloadOperation.AttachAsync 或 UploadOperation.AttachAsync。 這麼做會擷取傳輸的最新狀態,並在系統重新開機之後繼續傳輸。 當 DownloadOperation.IsRandomAccessRequired 為 true
時,下載會在重新開機後自動繼續。 您應該在該情況下呼叫 AttachAsync 。 如果您的應用程式在傳輸完成 (時執行,也就是說,當 呼叫 AttachAsync 傳回) 時,您就可以在回應中執行工作。 或者,您也可以使用 BackgroundTransferCompletionGroup 在傳輸完成時啟動背景工作。
在 Xbox 上,背景傳輸只會在應用程式位於前景時, (下載或上傳) 您的檔案。 當應用程式暫停、放入背景或已結束時,應用程式的背景傳輸會暫停。 當應用程式再次在前景執行時,會自動繼續其傳輸。