我试图上传一个简单的.cer文件到SkyDrive。无论我使用的是LiveConnectClient-Method
,都没有任何反应。没有编译,运行时或其他异常,我的应用程序永远不会收到LiveOperationResult
。我正在使用模拟器,并且能够登录MS Live(因此我的互联网连接正常)。下面是使用的代码的摘录:WP8 +将文件上传到Skydrive
using (IsolatedStorageFile store = IsolatedStorageFile.GetUserStoreForApplication())
{
using(var fileStream = store.OpenFile(certPath, FileMode.Open, FileAccess.Read, FileShare.Read))
{
try
{
client = new LiveConnectClient(session);
//LiveOperationResult operationResult = await client.UploadAsync("me/skydrive", certPath, fileStream, OverwriteOption.Overwrite, new System.Threading.CancellationToken(false), null);
LiveOperationResult res= await client.BackgroundUploadAsync("me/skydrive",
new Uri("/shared/transfers/cert.cer", UriKind.Relative),
OverwriteOption.Overwrite);
linkTextBlock.Text = "Done";
正如前面提到的,TextBlock
永远不会显示“完成”。如果使用UploadAsync
或BackgroundUploadAsync
方法,则没有区别。
此API是“智能”的,因此它决定如何处理传输给你。假设你有一个类似Instagram的应用,包含巨大的图片,你可以拍摄1000万张快照,然后分享。即使您将TransferPreferences设置为允许使用电池和蜂窝电话,它也会认为“我不想立即发送,我正在使用蜂窝电话”。我认为他们设计它时没有在笔记本电脑应用程序和电话应用程序之间做出区别。祝Instagram视频好运。 –