2012-06-14 11 views
5

मैं एक .NET ऑब्जेक्ट को Azure Blob संग्रहण में संग्रहीत करना चाहता हूं।मैं एक अस्थायी फ़ाइल का उपयोग किये बिना Azure Blob संग्रहण में .NET ऑब्जेक्ट को क्रमबद्ध कैसे करूं?

वर्तमान में मैं यह TextWriter का उपयोग कर एक XML फ़ाइल में क्रमानुसार (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(); 

और फिर ब्लॉब संग्रहण में फ़ाइल अपलोड करें:

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 संग्रहण में अपलोड हो?

+0

ठीक है, समस्या क्या है? – sharptooth

+0

क्या सी: \ movie.xml – Hope

उत्तर

6

आप निम्न कार्य कर सकते हैं। MemoryStream उदाहरण बनाएं और ऑब्जेक्ट को मेमोरी स्ट्रीम में क्रमबद्ध करने के लिए XmlSerializer.Serialize(Stream stream) का उपयोग करें, फिर Seek() का उपयोग शुरू करने के लिए स्ट्रीम को "रिवाइंड करें"। फिर आप ब्लॉब में स्ट्रीम सामग्री अपलोड करने के लिए CloudBlob.UploadFromStream() पर कॉल करें।

+0

के ब्लूब पथ इंस्टैड को निर्दिष्ट करना संभव है ठीक है इसके काम ठीक है .. – Hope

संबंधित मुद्दे