से मुलाकात नहीं हुई है जब मैं अपना आवेदन चलाता हूं तो मुझे यह अपवाद मिला। यह असली Azure ब्लोब भंडारण में भी होता है।एज़ूर ब्लॉब: "HTTP सशर्त हेडर (ओं) का उपयोग करके निर्दिष्ट शर्त"
मैं फ़िडलर साथ अनुरोध है कि इस समस्या पैदा करता पकड़ा गया है:
GET http://127.0.0.1:10000/devstoreaccount1/ebb413ed-fdb5-49f2-a5ac-74faa7e2d3bf/8844c3ec-9e4b-43ec-88b2-58eddf65fc0a/perro?timeout=90 HTTP/1.1
x-ms-version: 2009-09-19
User-Agent: WA-Storage/6.0.6002.18006
x-ms-range: bytes=0-524304
If-Match: 0x8CDA190BD304DD0
x-ms-date: Wed, 23 Feb 2011 16:49:18 GMT
Authorization: SharedKey devstoreaccount1:5j3IScY9UJLN3o1ICWKwVEazO4/IDJG796sdZKqHlR4=
Host: 127.0.0.1:10000
और यह प्रतिक्रिया है:
HTTP/1.1 412 The condition specified using HTTP conditional header(s) is not met.
Content-Length: 252
Content-Type: application/xml
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: fbff9d15-65c8-4f21-9088-c95e4496c62c
x-ms-version: 2009-09-19
Date: Wed, 23 Feb 2011 16:49:18 GMT
<?xml version="1.0" encoding="utf-8"?><Error><Code>ConditionNotMet</Code><Message>The condition specified using HTTP conditional header(s) is not met.
RequestId:fbff9d15-65c8-4f21-9088-c95e4496c62c
Time:2011-02-23T16:49:18.8790478Z</Message></Error>
यह तब होता है जब मैं स्ट्रीम इस लाइन से लिया गया का उपयोग करें:
blob.OpenRead();
ईएजी एक पठन ऑपरेशन में क्यों दिमाग रखता है? मैं इस समस्या से कैसे बच सकता हूं?
हर बार जब मैं ब्लॉब स्टोरेज पर चीजों को करने के कई समानांतर कार्यों को लॉन्च करता हूं।
तो मैं का उपयोग करें:
blob.OpenRead(new BlobRequestOptions() { AccessCondition = AccessCondition.IfMatch("*") });
मुझे कोई भीतरी एक साथ इस अपवाद मिल गया (पहले यह विवरण के साथ एक WebException था), या तो एक फ़िडलर में लाइन असफल:
Microsoft.WindowsAzure.StorageClient.StorageClientException was unhandled
Message=The conditionals specified for this operation did not match server.
Source=mscorlib
StackTrace:
Server stack trace:
at Microsoft.WindowsAzure.StorageClient.Tasks.Task`1.get_Result()
at Microsoft.WindowsAzure.StorageClient.Tasks.Task`1.ExecuteAndWait()
at Microsoft.WindowsAzure.StorageClient.TaskImplHelper.ExecuteImpl[T](Func`2 impl)
at Microsoft.WindowsAzure.StorageClient.BlobReadStream.Read(Byte[] buffer, Int32 offset, Int32 count)
at System.IO.BinaryReader.ReadBytes(Int32 count)
at System.Runtime.Serialization.Formatters.Binary.SerializationHeaderRecord.Read(__BinaryParser input)
at System.Runtime.Serialization.Formatters.Binary.__BinaryParser.ReadSerializationHeaderRecord()
at System.Runtime.Serialization.Formatters.Binary.__BinaryParser.Run()
at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler handler, __BinaryParser serParser, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream, HeaderHandler handler, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
...........
धन्यवाद अग्रिम।
क्लाउडब्लोब का उपयोग करें। डाउनलोड टोस्ट्रीम ने चाल की है :) – vtortola
आपको एमएस को सूचित करना चाहिए कि उनका सर्वर अमान्य ईटैग भेज रहा है, और जब ग्राहक ने इसके लिए नहीं पूछा तो उन्हें आंशिक प्रतिक्रिया (206) वापस नहीं करनी चाहिए। –
मैंने इसे एमएसडीएन मंचों में रखा है, लेकिन कोई जवाब नहीं देता है। – vtortola