【发布时间】:2012-07-16 18:42:14
【问题描述】:
Live SDK (SkyDrive SDK) 的client.UploadAsync 方法有点问题。由于某种原因,我的代码不起作用,或者更具体地说,它上传了一个空文件。它不会引发任何错误,并且流的序列化工作正常(我肯定知道)。
Memory Stream 似乎还可以。 (因为我没有工具可以真正查看其中的数据,我只是通过查看它的“长度”属性来猜测它是可以的)。
UploadAsync 方法也很好,或者至少当我第一次将数据序列化为 IsolatedStorage 中的 .xml 文件时,它运行良好,然后使用 IsolatedStorageFileStream 读取它,然后最终发送该流。 (然后它上传数据)
关于为什么会发生这种情况的任何建议?
public void UploadFile<T>(string skyDriveFolderID, T data, string fileNameInSkyDrive)
{
this.fileNameInSkyDrive = fileNameInSkyDrive;
{
try
{
memoryStream = new MemoryStream();
XmlWriterSettings xmlWriterSettings = new XmlWriterSettings();
xmlWriterSettings.Indent = true;
XmlSerializer serializer = new XmlSerializer(typeof(T));
using (XmlWriter xmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings))
{
serializer.Serialize(xmlWriter, data);
}
client.UploadAsync(skyDriveFolderID, fileNameInSkyDrive, true, memoryStream, null);
}
catch (Exception ex)
{
if (memoryStream != null) { memoryStream.Dispose(); }
}
}
}
【问题讨论】:
标签: c# windows-phone-7 stream live onedrive