WCF ve ASP.NET Web API

WCF, Microsoft'un hizmet odaklı uygulamalar oluşturmaya yönelik birleşik programlama modelidir. Geliştiricilerin platformlar arasında tümleşen ve mevcut yatırımlarla birlikte çalışan güvenli, güvenilir, işlem yapılmış çözümler oluşturmasını sağlar. ASP.NET Web API'si , tarayıcılar ve mobil cihazlar da dahil olmak üzere çok çeşitli istemcilere ulaşan HTTP hizmetleri oluşturmayı kolaylaştıran bir çerçevedir. ASP.NET Web API'si, .NET Framework üzerinde RESTful uygulamaları oluşturmak için ideal bir platformdur. Bu konu başlığında, gereksinimlerinizi en iyi şekilde karşılayacak teknolojiye karar vermenize yardımcı olacak bazı yönergeler sunun.

Hangi teknolojinin kullanılacağını seçme

Aşağıdaki tabloda her teknolojinin temel özellikleri açıklanmaktadır.

WCF ASP.NET Web API
Birden çok aktarım protokollerini (HTTP, TCP, UDP ve özel aktarımlar) destekleyen ve bunlar arasında geçişe izin veren hizmetler oluşturulmasını sağlar. Yalnızca HTTP. HTTP için birinci sınıf programlama modeli. Çeşitli tarayıcılardan, mobil cihazlardan ve geniş erişim sağlayan cihazlardan erişim için daha uygundur.
Aynı ileti türünde birden çok kodlamayı (Metin, MTOM ve İkili) destekleyen ve bunlar arasında geçişe izin veren hizmetler oluşturmanızı sağlar. XML, JSON vb. gibi çok çeşitli medya türlerini destekleyen Web API'leri oluşturulmasını sağlar.
Reliable Messaging, Transactions, Message Security gibi WS* standartlarıyla hizmet derlemeyi destekler. HTTP, WebSockets, SSL, JSON ve XML gibi temel protokolü ve biçimleri kullanır. Reliable Messaging veya Transactions gibi daha üst düzey protokoller için destek yoktur.
İstek-Yanıt, Tek Yönlü ve Çift Yönlü ileti değişimi desenlerini destekler. HTTP istek/yanıttır, ancak SignalR ve WebSockets tümleştirmesi aracılığıyla ek desenler desteklenebilir.
WCF SOAP hizmetleri, karmaşık şemalara sahip hizmetler için bile istemci proxy'leri oluşturmak için otomatik araçlara izin veren WSDL'de açıklanabilir. Otomatik oluşturulan HTML yardım sayfasından kod parçacıklarını açıklayan web API'sini, OData tümleşik API'leri için yapılandırılmış meta veriye kadar çeşitli yollarla açıklayın.
.NET Framework ile birlikte gelen. .NET Framework ile birlikte gönderilir, ancak açık kaynaktır ve bağımsız indirme olarak bant dışı olarak da kullanılabilir.

Çeşitli aktarımlar üzerinden erişilebilen güvenilir ve güvenli web hizmetleri oluşturmak için WCF kullanın. Çok çeşitli istemcilerden erişilebilen HTTP tabanlı hizmetler oluşturmak için ASP.NET Web API'sini kullanın. Yeni REST stili hizmetler oluşturup tasarlarken ASP.NET Web API'sini kullanın. WCF REST stili hizmetler yazmak için bazı destek sağlasa da, ASP.NET Web API'sinde REST desteği daha eksiksizdir ve gelecekteki tüm REST özelliği iyileştirmeleri ASP.NET Web API'sinde yapılacaktır. Mevcut bir WCF hizmetiniz varsa ve ek REST uç noktalarını kullanıma açmak istiyorsanız WCF ve kullanın WebHttpBinding.

Ayrıca bkz.