मेरे एक अनुरोध में से एक में, मैं कुछ सामग्री के साथ एक HttpResponseMessage वापस करना चाहता हूं। वर्तमान में मैं इसे निम्नानुसार काम कर रहा हूं:वेब एपीआई: HttpResponseMessage में सामग्री
var header = new MediaTypeHeaderValue("text/xml");
Request.CreateResponse(HttpStatusCode.OK, myObject, header);
हालांकि, चूंकि मैं स्थिर अनुरोध का उपयोग कर रहा हूं, यह परीक्षण करना वाकई मुश्किल हो जाता है। मैंने जो पढ़ा है, उससे मुझे निम्नलिखित करने में सक्षम होना चाहिए:
return new HttpResponseMessage<T>(objectInstance);
हालांकि, ऐसा करने में सक्षम नहीं लगता है। क्या ऐसा इसलिए है क्योंकि मैं WebApi/.NET के पुराने संस्करण का उपयोग कर रहा हूं?
एक तरफ ध्यान दें पर, मैंने पाया है कि आप संभावित रूप से एक प्रतिक्रिया के रूप में निम्नानुसार बना सकते हैं:
var response = new HttpResponseMessage();
response.Content = new ObjectContent(typeof(T), objectInstance, mediaTypeFormatter);
मुझे क्या हैरान यही कारण है कि मैं यहाँ एक mediaTypeFormatter जोड़ने के लिए है। मैंने ग्लोबल.एक्सएक्स स्तर पर मीडिया टाइप फॉर्मेटर जोड़ा है।
धन्यवाद!
आप फ़ॉर्मेटर पारित करने के लिए क्योंकि अन्यथा ObjectContent वैश्विक संग्रह है, जो परीक्षण के लिए कठिन हो जाएगा तक पहुँचने के लिए एक स्थिर सदस्य का उपयोग करने की आवश्यकता होगी है के बारे में अधिक पढ़ सकते हैं। –
अनुरोध स्थैतिक नहीं है, यह एपीकंट्रोलर का एक उदाहरण सदस्य है। –