我有这样的方法:
public JObject Get(int id)
{
return new JObject(new JProperty("Test", "Test"));
}
如果我请求 JSON,它可以正常工作,但是如果我请求 XML,我会从 web api 框架中得到一个 HTTP-Errorcode 500(也不例外)。XMLformatter 似乎很可能认为他可以编写 json。我可以通过以下方式对其进行测试:
bool test = GlobalConfiguration.Configuration.Formatters.XmlFormatter.CanWriteType(typeof(JArray));
bool test2 = GlobalConfiguration.Configuration.Formatters.XmlFormatter.CanWriteType(typeof(JObject));
bool test3 = GlobalConfiguration.Configuration.Formatters.XmlFormatter.CanWriteType(typeof(JProperty));
bool test4 = GlobalConfiguration.Configuration.Formatters.XmlFormatter.CanWriteType(typeof(JValue));
它总是返回“真”。我不想删除 xmlformatter,但服务器抛出我不产生且无法解决的 HTTP 错误 500 是不可接受的。最好的是 XMLformatter 可以序列化对象......