我的 ASP.NET REST 应用正在返回 JSON,即使客户端正在请求 XML
My ASP.NET REST app is returning JSON even though the client is requesting XML
我有一个 ASP.NET Web API2 网络应用程序。它的配置有:
GlobalConfiguration.Configuration.Formatters.XmlFormatter.UseXmlSerializer = true;
客户正在请求XML:
private static HttpWebRequest CreatetRequest(Uri uri, string method, int timeout)
{
var request = (HttpWebRequest)WebRequest.Create(uri);
request.Method = method;
request.Timeout = timeout == 0 ? System.Threading.Timeout.Infinite : timeout;
request.Accept = "application/xml";
request.ContentType = "application/xml";
return request;
}
但返回的是 JSON。然后当客户端进行以下调用时:
using (var stream = response.GetResponseStream())
{
body = XDocument.Load(XmlReader.Create(stream));
它抛出异常,因为它无法将 JSON 加载为 XML。我需要在服务器端做什么才能解决此问题(我无法更改客户端 - 该代码已过期并正在使用)?
找到了 - 返回的对象之一 dd 没有无参数构造函数。 XML 序列化需要,而 JSON 不需要。
我有一个 ASP.NET Web API2 网络应用程序。它的配置有:
GlobalConfiguration.Configuration.Formatters.XmlFormatter.UseXmlSerializer = true;
客户正在请求XML:
private static HttpWebRequest CreatetRequest(Uri uri, string method, int timeout)
{
var request = (HttpWebRequest)WebRequest.Create(uri);
request.Method = method;
request.Timeout = timeout == 0 ? System.Threading.Timeout.Infinite : timeout;
request.Accept = "application/xml";
request.ContentType = "application/xml";
return request;
}
但返回的是 JSON。然后当客户端进行以下调用时:
using (var stream = response.GetResponseStream())
{
body = XDocument.Load(XmlReader.Create(stream));
它抛出异常,因为它无法将 JSON 加载为 XML。我需要在服务器端做什么才能解决此问题(我无法更改客户端 - 该代码已过期并正在使用)?
找到了 - 返回的对象之一 dd 没有无参数构造函数。 XML 序列化需要,而 JSON 不需要。