सम्मानित जवाब ReadAsStringAsync करने के लिए भेजा है, जवाब नहीं उदाहरण के लिए किया था। मैं सकल घरेलू उत्पाद से सलाह का पालन और कुछ-कुछ काम कर उदाहरण व्युत्पन्न ...
मैं MessageInterceptor नामक एकल वर्ग बनाया। मैंने ActionFilterAttribute से प्राप्त करने के अलावा कुछ भी नहीं किया और यह तुरंत नियंत्रक से पहले वेबएपीआई विधि कॉल को अवरुद्ध करना शुरू कर दिया, और नियंत्रक समाप्त होने के बाद। यहां मेरी अंतिम कक्षा है। XML उदाहरण स्ट्रिंग में अनुरोध और प्रतिक्रिया दोनों प्राप्त करने के लिए यह उदाहरण XML Serializer का उपयोग करता है। इस उदाहरण में आबादी वाले वस्तुओं के रूप में अनुरोध और प्रतिक्रिया मिलती है, इसका मतलब है कि deserialization पहले से ही हुआ है। एक आबादी वाले मॉडल से डेटा एकत्र करना और एक्सएमएल स्ट्रिंग में क्रमबद्ध करना अनुरोध और प्रतिक्रिया का प्रतिनिधित्व है - वास्तविक पोस्ट अनुरोध और प्रतिक्रिया आईआईएस द्वारा वापस भेजी गई नहीं है।
कोड उदाहरण - MessageInterceptor
using System.IO;
using System.Linq;
using System.Web.Http.Controllers;
using System.Web.Http.Filters;
using System.Xml.Serialization;
namespace webapi_test
{
public class MessageInterceptor : ActionFilterAttribute
{
public override void OnActionExecuting(HttpActionContext actionContext)
{
base.OnActionExecuting(actionContext);
var headers = actionContext.Request.Content.Headers.ToString();
var request = actionContext.ActionArguments.FirstOrDefault().Value;
var xml = SerializeXMLSerializer(request, "");
}
public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext)
{
base.OnActionExecuted(actionExecutedContext);
var headers = actionExecutedContext.Response.Content.Headers.ToString();
var response = actionExecutedContext.Response.Content.ReadAsStringAsync().Result;
var xml = SerializeXMLSerializer(response, "");
}
public static string SerializeXMLSerializer(object o, string nameSpace)
{
string serializedValue;
var writer = new StringWriter();
XmlSerializer serializer = new XmlSerializer(o.GetType(), nameSpace);
serializer.Serialize(writer, o);
serializedValue = writer.ToString();
return serializedValue;
}
}
}
कुछ शेयर कोड। क्या आप बीटा रिलीज या सोर्स कोड रिलीज का उपयोग कर रहे हैं? इससे मेरा काम बनता है। – Aliostad
@Aliostad हाय बीटा रिलीज का उपयोग कर रहा हूँ। तुम क्या प्रयोग कर रहे हो? – gdp
मैं वही बीटा रिलीज का उपयोग कर रहा हूं। – Aliostad