微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 从WebAPI返回PageResult而不是格式化为OData

我正在尝试将基于WebAPI的应用程序从WebAPI RC迁移到发布版本.它接受一些查询参数,并返回ATOM格式的OData.由于它是一个正在运行的服务,我需要保持当前的行为.

我已经更改了API方法以返回PageResult< T>我的数据.根据MSDN上的Supporting OData Query Options文章应该是我需要做的全部,但它不起作用.我得到了结果,但它总是格式化为JSON.我已经尝试将Accept请求标头更改为application / atom xml,但它似乎没有任何区别.

我也尝试在我的WebApiConfig添加以下行,没有明显的效果

configuration.EnableQuerySupport();
configuration.Formatters.InsertRange(0,ODataMediaTypeFormatters.Create());

我尝试清除现有的格式化程序,只是为了看看会发生什么.我刚刚收到406 Not Acceptable错误.所以似乎OData格式化程序可能没有报告他们可以处理请求/响应?

解决方法

请浏览此博客文章,了解如何启用OData:

http://blogs.msdn.com/b/webdev/archive/2013/01/29/getting-started-with-asp-net-webapi-odata-in-3-simple-steps.aspx

您缺少OData路由 – 格式化程序需要路由才能工作.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐