1

我正在尝试将 ODataLib 用于 OData 协议 V4 (Microsoft.OData.Core) 以生成 Atom 格式的有效负载。我确保 Content-Type 和 Accept 标头引用 application/atom+xml,但是对 CreateODataEntryWriter 的调用总是会导致异常:

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;odata.

这是导致异常的示例代码:

    var writerSettings = new ODataMessageWriterSettings();
    writerSettings.SetContentType(ODataFormat.Atom);
    var messageWriter = new ODataMessageWriter(request, writerSettings, model);
    var entryWriter = messageWriter.CreateODataEntryWriter();

我检查了库代码,发现 ODataMessageWriterSettings 有一个属性 EnableAtom 但是这个属性被声明为内部的,并且它似乎不是从库内部设置的,所以它看起来总是错误的。我知道 Atom 格式在 OData V4 中已过时,是否支持生成条目有效负载?

4

1 回答 1

1

自 DataLib 6.3.0 发布以来,ATOM 被禁用,请参阅发布说明。实际上,您可以使用 ODataLib 6.3 之前的版本来生成 ATOM 有效负载,但 V4 中的新功能可能没有得到很好的支持。

于 2014-09-19T06:34:20.100 回答