我利用新的MVC4 ApiController构建了一个搜索界面;是这样的:MVC 4中集合与单值之间内容协商的差异?
public IEnumerable<RecordSummaryType> Get(...)
{
var list = MyService.GiveMeTheList(...);
return list;
}
public SingleRecordDetailType Get(long id)
{
var result = MyService.GiveMeASingleValue(id);
return result;
}
出于某种原因,在这种情况下,IEnumerable的通话荣誉内容协商 - 即,当我通过应用程序/ XML的请求,接受报头,它返回的XML,当我通过应用程序/ JSON它返回JSON - ,但SingleRecordType调用仅返回JSON,即使您要求XML。
所以我的问题是 - MVC 4处理单一值类型的集合的方式有差异吗?或者,更可能的是,在MVC有钩,其中一个可能会无意中禁用内容协商一定的呼叫?
这肯定是它 - 我错过了对象层次一些'IList's,但提供正确的执行类型进行XmlSerializer的快乐。这种行为完全是有道理的,只是不知道这是它是如何处理的。谢谢! – 2012-03-13 16:32:23