C# 如何在不使用临时文件的情况下将.NET对象序列化到Azure Blob存储中?
我想将.NET对象存储到Azure Blob存储中 目前,我使用C# 如何在不使用临时文件的情况下将.NET对象序列化到Azure Blob存储中?,c#,.net,serialization,azure,azure-storage,C#,.net,Serialization,Azure,Azure Storage,我想将.NET对象存储到Azure Blob存储中 目前,我使用TextWriter将其序列化为XML文件(eposodelist是我想要序列化的对象): 是否可以跳过临时文件,以便将XML直接上载到Azure Blob存储中?您可以执行以下操作。创建一个MemoryStream实例,并使用XmlSerializer.Serialize(Stream)将对象序列化到内存流中,然后使用Seek()将流“倒带”到开始。然后调用CloudBlob.UploadFromStream()将流内容上载到bl
TextWriter
将其序列化为XML文件(eposodelist
是我想要序列化的对象):
是否可以跳过临时文件,以便将XML直接上载到Azure Blob存储中?您可以执行以下操作。创建一个
MemoryStream
实例,并使用XmlSerializer.Serialize(Stream)
将对象序列化到内存流中,然后使用Seek()
将流“倒带”到开始。然后调用CloudBlob.UploadFromStream()
将流内容上载到blob。是否可以指定C:\movie.xml的bloob路径instad
XmlAttributeOverrides overrides = new XmlAttributeOverrides();
XmlAttributes Xmlattr = new XmlAttributes();
Xmlattr.XmlRoot = new XmlRootAttribute("EPISODES");
overrides.Add(typeof(List<EpisodeData>), Xmlattr);
XmlSerializer serializer = new XmlSerializer(typeof(List<EpisodeData>), overrides);
TextWriter textWriter = new StreamWriter(@"C:\movie.xml");
serializer.Serialize(textWriter, episodeList);
textWriter.Close();
CloudBlobClient blobStorage = createOrGetReferenceOfBlobStorage(folderName);
string uniqueBlobName = string.Format("{0}/{1}", folderName, fileName);
CloudBlockBlob blob = clouBblockBlobPropertySetting(blobStorage, uniqueBlobName, ".txt");
using (StreamWriter writer = new StreamWriter(blob.OpenWrite()))
{
writer.Write(content);
}