2012-09-25 24 views
8

HttpWebRequest का उपयोग करके POST अनुरोधों के लिए, जब मैं एक अनुरोध स्ट्रीम पर लिखता हूं, तो डेटा किस बिंदु पर भेजा जाता है? क्या यह अनुरोध धारा बंद करता है या जब मैं GetResponse को कॉल करता हूं? GetResponse कॉल की आवश्यकता है?क्या एक पोस्ट पूरा करने के लिए HttpWebRequest.GetResponse आवश्यक है?

HttpWebRequest request = HttpWebRequest.Create(url) as HttpWebRequest; 
request.Method = "POST"; 
request.ContentLength = jsonData.Length; 
request.ContentType = "application/json"; 

Stream requestStream = request.GetRequestStream(); 

requestStream.Write(jsonData, 0, jsonData.Length); 

requestStream.Close(); 

var response = request.GetResponse() as HttpWebResponse; 

धन्यवाद:

.net प्रलेखन क्या वास्तव में

हो रहा है के बारे में बहुत स्पष्ट होना प्रतीत नहीं होता है यहाँ कोड मैं उत्सुक के बारे में कर रहा हूँ है!

+0

आपको स्थिति कोड पढ़ने के लिए प्रतिक्रिया * वैसे भी * प्राप्त करने की आवश्यकता है और यह पता लगाएं कि क्या आपका 'POST' सर्वर द्वारा स्वीकार या अस्वीकार कर दिया गया था ... –

उत्तर

2

हां, GetResponse कॉल केवल अनुरोध के लिए ही नहीं, बल्कि जीईटी के लिए, हेड अनुरोध भी आवश्यक है। जब आप GetResponse पर कॉल करते हैं तो उस समय अनुरोध/डेटा भेजा जाता है।

+0

यह सच नहीं है, मुझे सही अनुरोध के बाद भेजा जाने का अनुरोध डेटा को अपनी स्ट्रीम में लिखते हुए, GetResponse पर टिप्पणी की गई है और मैं रिमोट कॉल विधि को डीबग करने में सक्षम हूं। मैं पूरी तरह से हताश हूँ ... –

1

स्नफ़फर शुरू करें और अपने requestStream.Close(); पर ब्रेकपॉइंट सेट करें और आप देखेंगे कि अनुरोध GetResponse() कहलाता है।

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