2013-10-14 8 views
5

एक प्रोजेक्ट के लिए मैं अपलोड की गई छवि फ़ाइलों को संग्रहीत करने के लिए एज़ूर ब्लॉब स्टोरेज का उपयोग कर रहा हूं। मैं वेबसाइट पर अपलोड की गई छवियों को भी प्रदर्शित कर रहा हूं - हालांकि, वहीं चीजें गलत होती हैं। ब्लॉबस्टोरेज में एक छवि के लिए हर दूसरे अनुरोध के परिणामस्वरूप 400 - Multiple condition headers not supported होता है।एज़ूर ब्लॉब स्टोरेज त्रुटि: एकाधिक कंडीशन हेडर समर्थित नहीं हैं

इस त्रुटि पर पढ़ना अंत में सशर्त अनुरोध हेडर निर्दिष्ट करने के बारे निम्नलिखित प्रलेखन के लिए मुझे सुराग: http://msdn.microsoft.com/en-us/library/windowsazure/dd179371.aspx

कि पेज निम्नलिखित कहते हैं कई सशर्त हेडर निर्दिष्ट करने के बारे:

If a request specifies both the If-None-Match and If-Modified-Since headers, the request is evaluated based on the criteria specified in If-None-Match.

If a request specifies both the If-Match and If-Unmodified-Since headers, the request is evaluated based on the criteria specified in If-Match.

With the exception of the two combinations of conditional headers listed above, a request may specify only a single conditional header. Specifying more than one conditional header results in status code 400 (Bad Request).

मैं भेजे गए अनुरोध का मानना ​​है क्रोम द्वारा इस दस्तावेज़ द्वारा उल्लिखित सभी आवश्यकताओं को पूरा करते हैं, और फिर भी मुझे वह त्रुटि प्राप्त होती है।

क्या किसी को एज़ूर ब्लोब स्टोरेज के साथ अनुभव है जो इस मुद्दे को दूर करने में मदद कर सकता है? मैं सबसे आभारी होंगे!

अनुरोध के रूप में क्रोम द्वारा भेजे गए:

The request as sent by chrome

एक्सएमएल प्रतिक्रिया के रूप में ब्लॉब भंडारण सेवा द्वारा दिया:

The XML response from the blob storage service

+3

क्या आपके और अज़ूर के बीच प्रॉक्सी/कैश सर्वर हो सकता है जो इसे अपने सशर्त हेडर जोड़ रहा है? क्या होता है जब आप एक अलग नेटवर्क से एक ही परीक्षण करते हैं (यानी एक एज़ूर वीएम से)? – kwill

+0

इसके अलावा, क्या आप हमें बता सकते हैं कि ब्लॉब स्टोरेज में कितनी बड़ी फ़ाइलें संग्रहीत हैं? –

+0

फाइलें अधिकतम हैं। आकार में 2 एमबी, बस सामान्य छवि अपलोड वास्तव में। प्रॉक्सी/कैश सर्वर एक दिलचस्प सुझाव था। मैंने इसे एज़ूर वीएम से परीक्षण किया और त्रुटि को पुन: उत्पन्न करने में सक्षम नहीं था, इसलिए मुझे लगता है कि साझा कार्यालय की जगह जो मुझे है, उसे अपने कैश हेडर जोड़ना होगा। यह अपनी खुद की एक समस्या को जोड़ता है, हालांकि जिस वेबसाइट पर हम काम कर रहे हैं, वह कर्मचारियों द्वारा मध्यम से बड़ी कंपनियों में उपयोग किया जाना चाहिए - उन कंपनियों का प्रकार जो अपने कार्यालय वाईफ़ाई के लिए प्रॉक्सी/कैश सर्वर भी नियोजित कर सकते हैं । क्या ऐसा कुछ है जो हम इस के आसपास काम करने के लिए कर सकते हैं? (हमारे वेब्रोल के माध्यम से रूटिंग अनुरोधों से कम) –

उत्तर

2

हाँ, यह कैश की वजह से, कम से कम यह है मेरे लिए कैश की वजह से था। मैं एसएएस का उपयोग कर रहा हूं इसलिए मेरा समाधान कैशिंग से बचने के लिए एक अतिरिक्त पैरामीटर जोड़ना था।

/// token = SharedAccessSignature 
    string tick = $"&{ DateTimeOffset.UtcNow.Ticks}"; 
    Uri url = new Uri(file.StorageUri.PrimaryUri.ToString() + token + tick); 

अतिरिक्त पैरामीटर को वेब एप्लिकेशन द्वारा अनदेखा किया जाना चाहिए।

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