2015-10-03 18 views
9

हम एचटीपी क्लाइंट में हेडर पर HttpRequestMessage ऑब्जेक्ट में हेडर का उपयोग कब करना चाहिए ??एचटीपी क्लाइंट हेडर बनाम एचटीपीआरक्वेट मैसेज हेडर

हम प्राधिकरण (हमेशा बदलता रहता है) और कुछ कस्टम हेडर (हमेशा बदल)

प्रश्न

  1. कौन पसंदीदा तरीका है जोड़ने की जरूरत है?
  2. क्या मुझे HttpClient में सामान्य हेडर (सभी अनुरोधों में समान) जोड़ना चाहिए और आधारित शीर्षलेख HttpRequestMessage ऑब्जेक्ट में अनुरोध करना चाहिए ??

    //HttpRequestMessage Code 
        HttpRequestMessage reqmsg =new HttpRequestMessage(); 
        reqmsg.Headers.Authorization =new AuthenticationHeaderValue("some scheme"); 
        reqmsg.Headers.Add("name","value"); 
    
        //HttpClient Code 
        HttpClient client =new HttpClient(); 
        client.DefaultRequestHeaders.Authorization =new AuthenticationHeaderValue("some scheme"); 
        client.DefaultRequestHeaders.Add("name", "value"); 
    

उत्तर

8
  1. पसंदीदा तरीका है कौन? क्या मुझे HttpClient
  2. पर सामान्य शीर्षलेख (सभी अनुरोधों में समान) जोड़ना चाहिए और HttpRequestMessage ऑब्जेक्ट पर आधारित शीर्षलेखों का अनुरोध करना चाहिए ??

आपके प्रश्नों ऑटो जवाब खुद को कर रहे हैं।

DefaultRequestHeaders वे हैं जो किसी भी अनुरोध का हिस्सा होंगे, जो एक प्लस है क्योंकि आप अपने आप को फिर से कुछ शीर्षलेख जोड़ने से बचने में सक्षम होंगे। दूसरी ओर, HttpRequestMessage.Headers उस अनुरोध का केवल एक हिस्सा होगा।

आप दूसरे पर एक का उपयोग कब करना चाहिए? मैं दो उदाहरण का उपयोग करने के लिए जा रहा हूँ:

  • मैं हर अनुरोध तो मैं HttpClient.DefaultRequestHeaders में Authorization हैडर सेट के हिस्से के रूप एक OAuth वाहक टोकन भेजने की जरूरत है, और मैं टोकन ताज़ा करने के लिए जरूरत है, मैं तो बस इसे फिर से सेट करने की जरूरत है।

  • मुझे कुछ शर्त के आधार पर JSON या XML के रूप में क्रमबद्ध एक इकाई भेजने की आवश्यकता है। यही है, मैं प्रति अनुरोध के आधार पर Content-type शीर्षलेख सेट करूंगा।

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