कोड उदाहरण:
HttpWebRequest अनुरोध = (HttpWebRequest) HttpWebRequest.Create ("http: //some.existing.url "); अनुरोध। विधि = "पोस्ट"; Request.ContentType = "text / xml"; बाइट [] documentBytes = GetDocumentBytes (); (स्ट्रीम अनुरोध स्ट्रीम = अनुरोध। गेटरक्वेंस्टस्ट्रीम ()) का उपयोग करते हुए {requestStream.Write (दस्तावेज़बाइट्स, 0, documentBytes.Length); requestStream.Flush (); requestStream.Close (); } जब मैं अनुरोध करता हूँ। GetRequestStream () , अनुरोध में भेजने के लिए कुछ भी नहीं है विधि के नाम से, और intellisense ("अनुरोध डेटा लिखने के लिए उपयोग करने के लिए System.IO.Stream जाओ"), कोई भी संकेत नहीं देता कि कोड की यह पंक्ति दूरस्थ सर्वर से कनेक्ट हो जाएगी।
लेकिन ऐसा लगता है क्या करता है ... क्या कोई मुझे समझा सकता है HttpWebRequest.GetRequestStream () बिल्कुल क्या करता है? आपके ज्ञान के लिए धन्यवाद।
अनुरोध स्ट्रीम प्राप्त करना पोस्ट को ट्रिगर नहीं करता है , लेकिन स्ट्रीम को बंद करना निम्न डेटा में पोस्ट डेटा को सर्वर पर भेजा जाता है:
- होस्ट के लिए एक कनेक्शन खोला गया है
- अनुरोध और हेडर भेजें
- पोस्ट डेटा लिखें
- प्रतिक्रिया के लिए प्रतीक्षा करें।
स्ट्रीम फ्लश करने और बंद करने का कार्य अंतिम चरण है, और एक बार जब इनपुट स्ट्रीम बंद हो जाता है (यानी ग्राहक ने क्या भेजा है इसे सर्वर की जरूरत है), तो सर्वर प्रतिक्रिया वापस कर सकता है।
Comments
Post a Comment