我正在构建一个返回 Atom 或 RSS feed 的 ASP.NET Web API 应用程序。为此,它构建了一个System.ServiceModel.Syndication.SyndicationFeed
和一个习惯MediaTypeFormatter
负责处理 HTTP Accept 标头,将SyndicationFeed
到任一Atom10FeedFormatter
or an Rss20FeedFormatter
,并将结果流式传输到响应流。到目前为止,一切都很好。
我的控制器看起来像这样:
public class FeedController : ApiController
{
public HttpResponseMessage Get()
{
FeedRepository feedRepository = new FeedRepository();
HttpResponseMessage<SyndicationFeed> successResponseMessage = new HttpResponseMessage<SyndicationFeed>(feedRepository.GetSyndicationFeed());
return successResponseMessage;
}
}
我想做的是利用内置的 OData 查询来过滤我的提要,但更改的返回类型Get()
方法IQueryable<SyndicationFeed>
显然不会工作,因为SyndicationFeed
不实施IQueryable
.
有没有办法使用内置的 OData 查询IEnumerable<SyndicationItem>
财产在SyndicationFeed
?
这个问题不再相关,因为 Microsoft 删除了 Web API Beta 版本中对 OData 查询的基本支持。
未来版本将包括更完整的 OData 支持。可通过 CodePlex 和 NuGet 获得此版本的早期版本,这里有更多详细信息:http://blogs.msdn.com/b/alexj/archive/2012/08/15/odata-support-in-asp-net-web-api.aspx http://blogs.msdn.com/b/alexj/archive/2012/08/15/odata-support-in-asp-net-web-api.aspx
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)