如何在不使用临时文件的情况下将 .NET 对象序列化到 Azure Blob 存储中?

2024-03-30

我想将 .NET 对象存储到 Azure Blob 存储中。

目前我使用将其序列化为 XML 文件TextWriter (episodeList是我想要序列化的对象):

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();

然后将文件上传到 Blob 存储中:

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);
} 

是否可以以某种方式跳过临时文件,以便将 XML 直接上传到 Azure Blob 存储中?


您可以执行以下操作。创建一个MemoryStream实例及使用XmlSerializer.Serialize(Stream stream)将对象序列化到内存流中,然后将流“倒带”到开始使用Seek()。然后你打电话CloudBlob.UploadFromStream()将流内容上传到 blob。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在不使用临时文件的情况下将 .NET 对象序列化到 Azure Blob 存储中? 的相关文章

随机推荐