没有DataContract的WEB API中的内容协商

时间:2015-06-10 12:37:23

标签: asp.net-web-api content-negotiation

如何使HttpResponseMessage遵循xml架构而不是datacontract?

我试着做

return new HttpResponseMessage()
{
     StatusCode = HttpStatusCode.OK,
     Content = new ObjectContent<Foo>(foo, Configuration.Formatters.XmlFormatter)

};

但这并没有成功。

此外,如果我这样做,Action将始终提供xml并且不会进行内容协商。我试图将List添加为param,但是HttpResponseMessage不期望列表,只是一个项目。

有没有办法在不使用DataContract的情况下允许内容协商?基本上现在HttpResponseMessage忽略了xml架构。

1 个答案:

答案 0 :(得分:0)

我猜这个问题的答案是使用

GlobalConfiguration.Configuration.Formatters.XmlFormatter.UseXmlSerializer = true;