से बॉडी डेटा नहीं पढ़ सकता है, मैं नए Asp.Net Web Api में किसी अनुरोध से कुछ डेटा निकालने का प्रयास कर रहा हूं। मैं इस तरह के हैंडलर सेटअप:वेब एपीआई पोस्ट
public class MyTestHandler : DelegatingHandler
{
protected override System.Threading.Tasks.Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, System.Threading.CancellationToken cancellationToken)
{
if (request.Content.IsFormData())
{
request.Content.ReadAsStreamAsync().ContinueWith(x => {
var result = "";
using (var sr = new StreamReader(x.Result))
{
result = sr.ReadToEnd();
}
Console.Write(result);
});
}
return base.SendAsync(request, cancellationToken);
}
}
यह मेरा http अनुरोध है:
POST http://127.0.0.1/test HTTP/1.1
Connection: Keep-Alive
Content-Length: 29
Content-Type: application/x-www-form-urlencoded
Expect: 100-continue
Host: 127.0.0.1
my_property=my_value
समस्या यह है कि कोई फर्क नहीं पड़ता कि कैसे मैं request.Content
से जानकारी पढ़ने की कोशिश यह हमेशा खाली है। मैं
request.Content.ReadAsStreamAsync
request.Content.ReadAsFormDataAsync
request.Content.ReadAs<FormDataCollection>
के साथ-साथ
[HttpGet,HttpPost]
public string Index([FromBody]string my_property)
{
//my_property == null
return "Test";
}
कोई भी कोशिश की है, तो यह काम करता है है। मैं शरीर से डेटा नहीं प्राप्त कर सकता। मैं विंडोज 7 पर आईआईएस के अंदर होस्टिंग कर रहा हूं और अनुरोध सबमिट करने के लिए फिडलर का उपयोग कर रहा हूं। मैं क्या गलत कर रहा हूं?
यह जानना उपयोगी होगा कि एक स्वतंत्र ग्राहक wcftestclient.exe जैसा समान परिणाम उत्पन्न करता है या नहीं। –
इसे चलाने की कोशिश की लेकिन यह नहीं है क्योंकि यह कहता है कि मेरे एंडपॉइंट में कोई मेटाडेटा नहीं है। – Micah
वह अजीब अजीब लग रहा है। क्या कोई कारण है कि आप प्रदत्त [HttpGet] और [HttpPost] पद्धति पर डेटा हस्तांतरण की इस विधि को चुन रहे हैं? –