Live SDK(SkyDrive SDK)的client.UploadAsync
方法存在一些问题。我的代码出于某种原因不起作用,或者更具体地说,它上传了一个空文件。它不会抛出任何错误和序列化流的作品(我知道肯定)。Live SDK - 通过内存流上传XML文件
它甚至似乎是记忆流是好的。 (因为我没有工具可以真正看到它中的数据,我只是猜测它可以通过查看它的'Length'属性)。
的UploadAsync方法是细以及或者至少它的工作以及当我第一序列中的数据到一个IsolatedStorage .xml文件然后用IsolatedStorageFileStream读它,然后eventualy发送流。 (然后它上传数据)
任何意见,为什么这可能会发生?
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(); }
}
}
}
我知道“使用”,但我有几个问题,它和异步上传(它只是没有正常工作(我猜它试图处置流很快))。无论如何感谢回答和简单的解释。 – Petrroll 2012-07-17 09:11:27