के साथ एक प्रोटोकॉल उल्लंघनकरण अपवाद प्राप्त करना मैंने एक व्यवस्थापक उपकरण विकसित किया है जहां मैं HTML पृष्ठों को वापस करने के लिए एक सरल HTTPListener का उपयोग करता हूं। सब कुछ के साथ आईई और एफएफ अच्छी तरह से काम करता है, लेकिन जब गूगल क्रोम का उपयोग कर मैं एक ProtocolViolationException हो रही है।Google क्रोम और HTTPListener
यह सरल कोड (listener.BeginGetContext से उठाया) है कि त्रुटि पैदा करता है:
byte[] buffer = System.Text.Encoding.UTF8.GetBytes("<html><body>response sent!</body></html>");
context.Response.ContentLength64 = buffer.Length;
context.Response.OutputStream.Write(buffer, 0, buffer.Length); //<-- crashes here
context.Response.OutputStream.Close();
context.Response.Close();
अपवाद
बाइट्स धारा को लिखे जाने की सामग्री-लंबाई बाइट्स से अधिक आकार निर्दिष्ट
लाइन
context.Response.OutputStream.Write (बफर, 0, buffer.Length) से फेंक दिया जाता है;
इस त्रुटि को उत्पन्न करने के लिए क्रोम क्या करता है या नहीं करता है?
धन्यवाद
रिकॉर्ड के लिए, आपको हेड अनुरोध प्राप्त करते समय कम से कम प्रतिक्रिया स्ट्रीम पर कॉल करना होगा, अन्यथा आप अटक जाएंगे। – pierrecouzy