使用PowerPivot的MVC 4 Web Api?

时间:2012-05-31 13:04:44

标签: .net odata asp.net-mvc-4 powerpivot

有没有人知道MVC 4 WebApi是否可以(或将会)在电源枢轴中消耗?

3 个答案:

答案 0 :(得分:2)

Web API本身没有内置支持以OData格式公开端点。我们计划通过将来发布的附加组件添加OData支持。

答案 1 :(得分:1)

我认为如果您公开IQueryable<T>,它会将其公开为OData Feed。

我找到了这个。

http://codebetter.com/johnvpetersen/2012/03/22/bringing-odata-to-your-webapi-just-use-iqueryable/

答案 2 :(得分:0)

它在Excel 2013中作为数据源正常工作。在早期版本中, Excel 2010中有一个解决方法:http://aspnetwebstack.codeplex.com/workitem/820

基本上,默认输出是JSON,Excel没有发送正确的Accept标头来接收XML。因此,您必须将此添加到Web API的启动注册函数中:

IList<ODataMediaTypeFormatter> odataFormatters 
                                   = ODataMediaTypeFormatters.Create();
var jsonFormatter = odataFormatters
       .First(f => f.SupportedMediaTypes
                    .Contains(MediaTypeHeaderValue.Parse("application/json")));
odataFormatters.Remove(jsonFormatter);
odataFormatters.Add(jsonFormatter);
config.Formatters.InsertRange(0, odataFormatters);