2014-12-28 61 views
0

從微軟(小)示例代碼後臺下載與Windows運行的應用程序是:如何知道OneDrive後臺下載何時完成?

try 
{ 
    LiveDownloadOperation operation = await connectClient.CreateBackgroundDownloadAsync(filePath); 
    var result = await operation.StartAsync(); 
    // Handle result. 
} 
catch 
{ 
    // Handle errors. 
} 

我使用的是在那裏你可以指定一個StorageFile作爲第二個參數CreateBackgroundDownloadAsync的變異,導致下載的文件,存儲爲該StorageFile。

如何知道下載何時完成?結果似乎沒有我可以檢查的任何屬性,也沒有似乎有任何事件被解僱。

文檔極其缺乏:-(

感謝

回答

0

事實證明,我對整個異步/等待片斷很遺忘。

var result = await operation.StartAsync(); 

其實是把一個值結果,下載完成。同樣,當重新連接到應用程序終止時正在進行的下載時 - 等待呼叫將在下載完成時結束。

我仍然認爲與其他MSDN文檔相比,Live SDK文檔非常差,並且Microsoft需要在其中添加一些工作。

+0

感謝您對文檔的評論。我們正在爲我們的OneDrive API文檔開發一個全新的流程。敬請關注。 –

0

從細讀API文檔,它出現你做兩件事情:。

  1. 首先,處理程序添加到BackgroundDownloadCompleted事件。如果在應用程序仍處於活動狀態時下載完成,則會引發此問題
  2. 當您的應用程序被激活時,請致電GetCurrentBackgroundDownloadsAsync通過AttachAsync方法重新連接到正在進行的任何應用程序終止時。