मैं निम्नलिखित के माध्यम से एक HTTP प्रतिक्रिया स्ट्रीम को पढ़ने के लिए कोशिश कर रहा हूँ दो बार:मैं सी # में दो बार एक एचटीपी प्रतिक्रिया स्ट्रीम कैसे पढ़ सकता हूं?
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
stream = response.GetResponseStream();
RssReader reader = new RssReader(stream);
do
{
element = reader.Read();
if (element is RssChannel)
{
feed.Channels.Add((RssChannel)element);
}
} while (element != null);
StreamReader sr = new StreamReader(stream);
feed._FeedRawData = sr.ReadToEnd();
लेकिन जब StreamReader कोड निष्पादित करता है कोई डेटा नहीं दिया क्योंकि धारा अंत अब तक पहुँच गया है। मैंने स्ट्रीम के माध्यम से स्ट्रीम को रीसेट करने का प्रयास किया। स्थिति = 0 लेकिन यह एक अपवाद फेंकता है (मुझे लगता है क्योंकि धारा में इसकी स्थिति मैन्युअल रूप से परिवर्तित नहीं हो सकती है)।
असल में, मैं एक्सएमएल के लिए स्ट्रीम को पार्स करना चाहता हूं और कच्चे डेटा (स्ट्रिंग प्रारूप में) तक पहुंच प्राप्त करना चाहता हूं।
कोई विचार?
एक छोटे सुझाव यहां - मैं अक्सर, कॉल की शोध करने के लिए जहां स्थिति संपत्ति सरल और अधिक पढ़े जा सकेंगे देखने उदा ms.Position = 0; भविष्य के कोड के लिए बस एक विचार। –
एक और टिप्पणी - उपरोक्त आने वाली धारा को बंद करने का अंत नहीं होता है। यह "CopyAndClose" विधि बनाने के लायक हो सकता है जो * स्ट्रीम बंद करता है, बस इतना आसान है कि आप सरल कॉलिंग सिंटैक्स रख सकें। –
वाह, मेरे नायकों के करीब आ रहा है .. मैं वर्तमान में आपकी पुस्तक पढ़ रहा हूं, श्री स्कीट :-) आपने बंद करने (विधि विधि के साथ कहने) के बारे में क्या सुझाव दिया है, मैंने उपर्युक्त कोड के बारे में सोचा है। – VVS