【发布时间】:2015-10-24 13:13:48
【问题描述】:
我正在尝试将 1 KB 文件上传到 OneDrive 到现有文件夹。该应用程序是真正的 Windows Phone 8.1 设备上的 WinRT。
代码非常简单,取自文档示例:
var lcc = new LiveConnectClient(session);
//https://msdn.microsoft.com/en-us/library/office/dn659730.aspx
var r = await lcc.CreateBackgroundUploadAsync(folderId, "somefile.bin", file, OverwriteOption.Overwrite);
var r2 = await r.StartAsync();
return r2;
此代码是从异步按钮点击事件中调用的。我在使用 BackgroundUploadAsync 时遇到了相同的结果(这可能与使用前 2 种方法相同)。
所以 StartAsync 方法执行了,但没有收到任何响应,它被无限期地等待(它不会阻塞 UI 线程),没有抛出可观察到的异常,也没有上传文件。
folderId 引用 OneDrive 上的真实文件夹。
我也没有注意到上传文件有任何问题。它存在并且没有应用程序试图访问它。
使用类似代码从 OneDrive 下载文件没有问题。
从 Windows Store 8.1 应用程序运行时,完全相同的代码可以正常工作。 Windows 和 Windows Phone 应用程序都使用相同的 WinRT Live SDK 库。所以我想问题出在 Live SDK 使用的后台传输 API 上。
【问题讨论】:
-
Hmya,当你只能调试 3 行代码并且大约 250 万行其他代码分布在大约 15 台机器上,而你看不到它们不起作用时,这有点糟糕。也许明天会更好。
标签: c# windows-runtime windows-phone-8.1 onedrive live-sdk