WsHttpBinding vs WebHttpBinding vs Temel HttpBinding


297

WCF'de çeşitli HTTP tabanlı bağlama türleri vardır:

Bu 3 arasındaki farklar nelerdir?

Özellikle özellikler / performans ve uyumluluk arasındaki farklar nelerdir?


44
[BasicHttpBinding = Sabun 1.1], [WsHttpBinding = Sabun 1.2], [WebHttpBinding = Dinlenme]
Frank Myat Per

Burada iki SOAP tabanlı bağlamanın
DavidRR 10:15

Yanıtlar:


518

Elmaları portakallarla karşılaştırıyorsunuz:

  • webHttpBinding , temelde bir URL'ye çarptığınız ve web hizmetinden bir kamyon dolusu XML veya JSON geri aldığınız REST tarzı bağlamadır

  • basicHttpBinding ve wsHttpBinding , REST'ten oldukça farklı olan iki SOAP tabanlı bağdır . SOAP, hizmeti, yöntemlerini ve aktarılan verileri ayrıntılı olarak açıklamak için WSDL ve XSD'ye sahip olma avantajına sahiptir (REST'in böyle bir şeyi yoktur - henüz). Öte yandan, tarayıcınızla bir wsHttpBinding uç noktasına göz atamaz ve XML'e bakamazsınız - örneğin, WcfTestClient veya kendi uygulamanız gibi bir SOAP istemcisi kullanmanız gerekir.

Bu yüzden ilk kararınız: REST vs. SOAP olmalıdır (ya da her iki uç noktayı da hizmetinizden çıkarabilirsiniz - bu da mümkündür).

Daha sonra basicHttpBinding ve wsHttpBinding arasında farklılıklar şunlardır:

  • basicHttpBinding çok temel bağlayıcıdır - SOAP 1.1, güvenlik açısından fazla değil, özellikler açısından fazla değil - ancak hemen hemen tüm SOAP istemcileriyle uyumludur -> birlikte çalışabilirlik için harika, özellikler ve güvenlik açısından zayıf

  • wsHttpBinding, bir ton WS- * özelliğini ve standardını destekleyen tam gelişmiş bir bağlayıcıdır - çok daha fazla güvenlik özelliğine sahiptir, oturumlu bağlantıları kullanabilir, güvenilir mesajlaşmayı kullanabilirsiniz, işlemsel kontrolü kullanabilirsiniz - sadece çok daha fazla şey , ancak wsHttpBinding aynı zamanda çok * daha ağırdır "ve iletilerinize ağ boyunca seyahat ederken çok fazla ek yük ekler

İkisi arasında derinlemesine bir karşılaştırma için (tablo ve kod örnekleri dahil) şu kod projesine göz atın: BasicHttpBinding ve WsHttpBinding arasındaki farklar


1
Burada herhangi bir karar almıyorum canım sadece portakalın tadı nedir ve elmanın ne olduğunu bilmeniz gereken farkı bilmek istedim, bu yüzden bu soruyu sordum. Ben özellik karşılaştırmaların vadede ve performans daha WebHttpBinding hakkında gerekli
Mubashar

Google veya Bing'e göz atın ve "REST vs. SOAP" araması yapın - orada bilgi YÜKLERİ !
marc_s

4
Bir düzeltme: wsHttpBinding akışı desteklemez. Yoksa bir şey mi kaçırıyorum? msdn.microsoft.com/en-us/library/ms730879.aspx
Andrew Shepherd

1
@Andrew Shepherd: bağlantı ve düzeltme için teşekkürler - kesinlikle haklısın, wsHttpBinding akışı desteklemiyor .....
marc_s

@ EduardoLeón REST'in kiracılarından biri HTTP'de yerleşik özelliklerden yararlanmaktır. Kimlik doğrulama HTTP içinde yerleşiktir, bu nedenle istediğiniz herhangi bir kimlik doğrulama sağlayıcı türünü potansiyel olarak kullanabilirsiniz. Bu Basic veya NTLM olarak basit olarak olabilir veya daha gelişmiş bir şeyler yapabileceğini vb hangi leverages OAuth / STS belirteçleri,
BrainSlugs83
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.