我想为OData协议V4(Microsoft.OData.Core)使用ODataLib生成Atom格式的有效载荷。我保证,Content-Type和Accept标头是指应用程序/原子+ XML,然而CreateODataEntryWriter一个电话总是导致异常:OData V4的ODataLib是否支持请求中的Atom载荷?
Microsoft.OData.Core.ODataContentTypeException:支持的MIME类型 不能被发现匹配 请求的可接受的MIME类型。支持的类型 'application/json; odata.metadata = minimal; odata.streaming = true; IEEE754Compatible = false, application/json; odata.metadata = minimal; odata.streaming = true; IEEE754Compatible = true, application/json; odata.metadata = minimal; odata.streaming = true, application/json; odata.metadata = minimal; odata.streaming = false; IEEE754Compatible = false, application/json; odata.metadata = minimal; odata。 streaming = false; IEEE754Compatible = true, application/json; odata.metadata = minimal; odata.streaming = false, application/json; odata.metadata = minimal; IEEE754Compatible = false, application/json; odata.metadata = minimal ; IEEE754Compatible = true, application/json; odata.metadata = minimal, application/json; o data.metadata = full; odata.streaming = true; IEEE754Compatible = false, application/json; odata.metadata = full; odata.streaming = true; IEEE754Compatible = true, application/json; odata.metadata = full; odata。 streaming = true, application/json; odata.metadata = full; odata.streaming = false; IEEE754Compatible = false, application/json; odata.metadata = full; odata.streaming = false; IEEE754Compatib ...' 请勿匹配任何可接受的MIME类型'application/atom + xml'。
这里的示例代码导致异常:
var writerSettings = new ODataMessageWriterSettings();
writerSettings.SetContentType(ODataFormat.Atom);
var messageWriter = new ODataMessageWriter(request, writerSettings, model);
var entryWriter = messageWriter.CreateODataEntryWriter();
我检查了库代码,发现ODataMessageWriterSettings有一个属性EnableAtom但这个属性被声明为内部的,它似乎没有不从库内部设置,所以它看起来总是假的。我知道Atom格式在OData V4中已经过时,是否支持输入有效负载?
谢谢,这解释了它。 – 2014-09-26 13:39:02