2012-05-31 18 views
6

MVC 4 WebApi'nin güç pivotunda tüketilip tüketilemeyeceğini bilen var mı?MVC 4 WebApi?

+0

Web API bu noktada beslemeleri ama Excel PowerPivot olarak bağlanır eğer bu spesifik sorunun kalbi olduğunu düşünüyorum. PowerPivot, feed bağlantınızı kurarken Kaynak URL'de bulunan bir çeşit yöntem listesi bekler. WCF Veri Hizmetleri bu OOTB'yi sağlar, ancak Web API'sı yoktur. –

cevap

2

Web API kendisi yerleşik olmayan destek OData formatında son noktalarını açığa yönelik. Gelecekte gönderilecek bir eklentiyle OData desteği eklemeyi planlıyoruz.

+1

Bu ne kadar sürede gönderilecek? Bu arada WCF Data Services kullanılmalı mı? –

+2

@ShaneCusson'un bir önizleme sürümü şu adreste bulunabilir: http://nuget.org/packages/Microsoft.AspNet.WebApi.OData/0.1.0-alpha-120815. Burada tarihler hakkında daha fazla tartışma: http://aspnetwebstack.codeplex.com/discussions/391903 veya burada: http://aspnetwebstack.codeplex.com/discussions/359229. – marcind

1

Bir IQueryable<T> ortaya çıkarırsanız, bunu bir OData yayını olarak gösterir.

Bunu buldum.

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

+1

Anlayışım, bir WebApi aracılığıyla bir IQueriable arabirimini açığa çıkarmanın, sorgu bileşimi için OData URL kuralı'nı kullanmanıza olanak tanır, ancak PowerPivot – cmilhench

+0

'u zorunlu kılmak için mükemmel güç pivotu ya da iki noktadan bahsediyor musunuz? –

0

Excel 2013'te bir veri kaynağı olarak iyi çalışıyor. Önceki sürümlerde ör. Excel 2010 burada açıklanan bir geçici çözüm var: http://aspnetwebstack.codeplex.com/workitem/820

Temel olarak varsayılan çıktı JSON ve Excel, XML almak için uygun Accept üstbilgisini göndermedi. Yani Web API başlatma Kayıt işlevine bu eklemek zorunda: OData formatını sağlayabilir

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);