我的 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 不需要。