2010-04-16 28 views
250

In WCF ci sono diversi tipi di attacchi basati su http:BasicHttpBinding vs WsHttpBinding vs webHttpBinding

Quali sono le differenze tra questi 3?

In particolare quali sono le differenze in termini di caratteristiche/prestazioni e compatibilità?

+29

[BasicHttpBinding = Sapone 1,1], [WsHttpBinding = Sapone 1.2], [webHttpBinding = riposo] –

+0

Un confronto tra i due attacchi basati su SOAP qui : [basicHttpBinding vs wsHttpBinding] (http://stackoverflow.com/q/2106715/1497596) – DavidRR

risposta

444

si sta confrontando le mele alle arance qui:

  • webHttpBinding è il legame in stile REST, dove è fondamentalmente solo colpito un URL e tornare un camion di XML o JSON dal servizio web

  • basicHttpBinding e wsHttpBinding sono due attacchi basati su SOAP che è piuttosto differente da fermo. SOAP ha il vantaggio di avere WSDL e XSD per descrivere il servizio, i suoi metodi e i dati passati in modo molto dettagliato (REST non ha ancora niente del genere). D'altra parte, non puoi semplicemente navigare verso un endpoint wsHttpBinding con il tuo browser e guardare XML - devi usare un client SOAP, ad es. WcfTestClient o la tua app.

Così il vostro prima decisione deve essere: REST vs SOAP (o si può esporre entrambi i tipi di endpoint dal vostro servizio - che è possibile, anche).

Poi, tra basicHttpBinding e wsHttpBinding, ci differenze sono le seguenti:

  • basicHttpBinding è la base vincolante - SOAP 1.1, non tanto in termini di sicurezza, non molto altro in termini di funzionalità - ma compatibile con quasi tutti i client SOAP là fuori -> ottimo per l'interoperabilità, debole su funzionalità e sicurezza

  • wsHttpBinding è l'associazione completa, che supporta una tonnellata di caratteristiche e standard WS- * - ha molto di più funzioni di sicurezza, è possibile utilizzare le connessioni di sessione, è possibile utilizzare la messaggistica affidabile, è possibile utilizzare il controllo transazionale - solo molto più roba, ma wsHttpBinding è anche un sacco * pesante" e aggiunge un sacco di spese generali per i messaggi mentre viaggiano attraverso la rete

Per un confronto approfondito (tra cui un tavolo e esempi di codice) tra i due controllare questo articolo CodeProject: Differences between BasicHttpBinding and WsHttpBinding

+1

Non sto prendendo alcuna decisione qui caro, volevo solo sapere la differenza devi sapere qual è il gusto o f arancione e lo stesso di apple è per questo che ho fatto questa domanda. Ho bisogno di più su WebHttpBinding in termini di confronti di funzionalità e prestazioni –

+0

Controlla Google o Bing e cerca "REST vs.SOAP "- ** CARICHI ** di informazioni là fuori! –

+4

Una correzione: wsHttpBinding non supporta lo streaming. O mi manca qualcosa? Http://msdn.microsoft.com/en-us/library/ms730879.aspx –

Problemi correlati