Hangi .NET REST yaklaşımını / teknolojisini / aracını kullanmalıyım?


16

RESTful bir web hizmeti ve çoğunlukla Silverlight'ta olan birkaç istemci uygulaması uyguluyorum. API hem sunucu tarafı hem de istemci tarafı geliştirmek için seçenekler bir litany buluyorum ama hangisinin en iyi yaklaşım olduğundan emin değilim. İstikrardan ve birkaç ay sonra var olmaya devam edecek bir platformdan endişeliyim.

.NET 3.5 ile REST Başlangıç ​​Seti'ni kullanmaya başladık, ancak .NET 4.0'a güncellerken yeni WCF Web API'sine geçtik. Tüm belgeleri WCF Web API'sinin RSK'nin yerini aldığını göstermektedir. Ancak, Web API yalnızca Önizleme 4'te bulunur ve Silverlight veya Windows Phone 7 istemcileri için destek içermez (henüz).

WCF Web API, System.ServiceModel.Webkütüphanede sağlanan WCF WebHttp Services öğelerinin üstünde bir sarıcıya benziyor, bu da bana sadece yerleşik şeylerle gitmenin daha kolay olacağını düşünüyor, ancak Web API bazı güzel özellikler sunuyor.

Özellikle müşteri tarafı için en iyi kursu belirlemeye çalışıyorum. Temel gereksinimim, istemci tarafı nesnelerimdeki serileşmeyi hızlı ve kolay bir şekilde desteklemem gerekiyor. Web API güzel bir istemci kitaplığı sunuyor ancak Silverlight sürümü yok.

En son yaklaşımı ve aktif olarak geliştirilen ve desteklenen araç setini kullanmak istiyorum.

  1. REST Başlangıç ​​Kiti gerçekten kullanılmıyor mu?

  2. WCF Web API araç setini uygulamada başarılı olan var mı?

  3. Bulunan yerleşik WCF WebHttp Hizmetleri özellikleri üzerinde bunlardan herhangi birini kullanmanın faydası var System.ServiceModel.Webmı?

  4. Herhangi bir istemci (web, Silverlight, vb.) İçin çalışan tek bir çözüm var mı?

Ne önerileriniz var?


Çok kullanarak öneriyoruz servicestack
Mithir

Yanıtlar:


6

Gönderiyi takip etmek ve kapatmak için, Önizleme 5 ile WCF Web API, REST API'leri oluşturmayı inanılmaz derecede basit hale getiren büyük bir adım attı. Codeplex'teki geçerli kod tabanı bir Silverlight istemcisi içermese de, orada bir araç seti var ve Async-CTP parçalarını açık kaynak kodundan kolayca çıkarabiliyor ve bir SL sürümü oluşturabildim.

WCF ile REST'e girmek isteyen herkese şu çerçeveye bakmanızı şiddetle tavsiye ederim: http://wcf.codeplex.com .

FYI - .NET 4.5'in entegre bir parçası olacak ve şu anda ASP.NET MVC ile aynı çekirdek çerçevede çalışacak şekilde yeniden yazılıyor (yine de kendi kendine barındırma özelliğini hala destekleyeceği söylendi).


1

REST Başlangıç ​​Kiti kullanılan sığınak ama şu anda im hala yazma hala .net 4.0 WCF REST API im im :)

Odata bir göz atmanızı tavsiye ederim. Onun inanılmaz hızlı ve kodlamak basit ve silverlight ile güzel oynuyor.


WCF Web API araç seti tarafından sunulan özelliklerden biri güzel çalışan OData desteğidir. Ancak, Silverlight sürümüne sahip olmam bana yardımcı olmaz. İstemci tarafında serileştirmeyi nasıl ele alıyorsunuz?
SonOfPirate

Sadece WP7 gümüş ışığı ile yaptım. Ben sadece bir hizmet reddi ekledi ve bunu çağırdı. Bir web istemcisini kullanabilir ve sizin için daha iyi çalışıyorsa yanıtı kendiniz kaldırabilirsiniz. Zor değil
Tom Squires

WCF ile REST etkinleştirmek için webHttpBinding kullanarak bir mex bitiş noktası desteklenen düşünmüyordu. Hizmet referansını nasıl ekliyorsunuz? Bu benim veri sözleşmelerimi içeren ortak bir kütüphaneyi paylaşma tercihim olacaktır.
SonOfPirate

Evet, az önce bir hizmet referansı ekledim. Yapılandırma dosyasında bitiş noktasını tanımlamanız gerekebilir.
Tom Squires

Silverlight'ın WebHttpBinding'ı desteklemediğini (zor yoldan) öğrendim. Bu nedenle, bir mex uç noktasını açığa çıkmasına ve Hizmet Başvurusu Ekle'ye rağmen, son noktayı çözemediği için hizmet çağrısı yapmazdı.
SonOfPirate

1

WCF Web API, bir hizmet proxy'si oluşturmak için kullanacağınız herhangi bir meta veri bilgisi sağlamaz ve böylece bir hizmet başvurusu ekleyebilir. ASP.NET MVC 4 Web API çerçevesinde olduğu gibi WCF çatısı altında REST hizmetlerinin kolay üretimi için tasarlanmıştır.

Bu nedenle WP7 veya Silverlight için destek yoktur, ancak web'in geri kalanı için neredeyse mükemmeldir.

Bununla birlikte, WCF Veri Hizmetleri doğru bir aday gibi görünüyor, RESTful hizmetleri oluşturmanıza ve bunları Silverlight ile kolayca tüketmenize izin veriyor.


Web API'yı Silverlight istemcimizle yaklaşık bir yıldır sorunsuz çalışıyoruz.
SonOfPirate
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.