2009-07-22 11 views
5

Eventuali duplicati:
Web Services — WCF vs. StandardWCF v.s. eredità ASP.Net Web Services


qualcuno potrebbe raccomandare me alcuni documenti per descrivere il motivo per cui è meglio di WCF legacy servizi ASP.NET web? Sono particolarmente interessato alle prestazioni e alla sicurezza.

+0

Vedere questo [domanda] (http: //stackoverflow.com/questions/6666/web-services-wcf-vs-standard). –

risposta

8

WCF è molto più flessibile:

  • può essere utilizzato su HTTP (come eredità ASMX)
  • ma anche: può essere utilizzato nel corso NetTCP, MSMQ, wsHttp e così via

  • I servizi WCF possono essere ospitati in IIS (come legacy ASMX)

  • ma i servizi WCF possono anche essere auto-ospitati in un'app console, servizio Windows NT, ecc.

  • WCF offre molte più funzioni di sicurezza e livelli di sicurezza rispetto ASMX (messaggio di sicurezza, ecc)

  • WCF offre cose come messaggistica affidabile, il supporto delle transazioni ecc

In WCF, quasi tutto è configurabile in un file di configurazione - molto più che con ASMX.

Non ho documenti pronti a disposizione che descrivano questo, ma questo è davvero l'essenza di tutto ciò, direi.

Marc

PS: Non sono sicuro se questo dovrebbe contenere qualcosa di utile per voi:

http://whitepapers.techrepublic.com/abstract.aspx?kw=remoting&docid=270830

PPS: si sarebbe pensare che Microsoft avrebbe mucchi di questi white paper per convincere gente - ma no ..... :-)

+0

Grazie! Qualche documento da consigliare? Sto persuadendo gli altri, quindi ho bisogno di documenti non scritti da me. :-) – George2

+0

Mi dispiace Marc, non ho trovato un documento scaricabile correlato. – George2

+0

Marc, se non ospitiamo WCF in IIS, il vantaggio è? – George2

4

George,

Non ho questi documenti a portata di mano, perché è così ovvio il motivo per cui WCF è migliore.

Innanzitutto a causa di Microsoft: ASMX Web Services are a “Legacy Technology”. Stanno anche dichiarando pubblicamente che non apporteranno modifiche a WSDL.EXE e ad altre parti della tecnologia ASMX. Abbiamo abbastanza problemi in questo settore con la tecnologia e le applicazioni legacy - non ha senso creare oggi un nuovo codice legacy.

In secondo luogo, WCF astrae i concetti che fanno parte di ASMX, Remoting e WSE. "Tutto ciò che possono fare, WCF può fare di meglio".

+0

Cool, John! :-) – George2

+0

John, se non ospitiamo WCF in IIS, il vantaggio è? – George2

+1

Quindi il vantaggio è che puoi ospitarlo dove vuoi ospitarlo. Ad esempio, è possibile ospitarla in un servizio di Windows o anche in un'applicazione client WinForms. Ciò può essere utilizzato per consentire a due applicazioni client di comunicare tra loro. Inoltre, ricorda che IIS è solo HTTP. È disponibile un nuovo servizio di attivazione dei processi di Windows che può attivare un servizio WCF su un protocollo _any_ (binario su TCP/IP non elaborato, ad esempio). –

3

Per dirla semplicemente, la domanda è l'equivalente di "Perché .NET è meglio di VB6". Dato abbastanza tempo, qualsiasi tecnologia legacy diventerà un balsamo di mantenimento/finanziario.

Come hai chiesto in merito alla sicurezza e alle prestazioni in particolare, direi "dipende".È possibile rendere entrambe le opzioni sicure e le prestazioni dipendono in gran parte dal codice che scrivi. Un lato positivo per le prestazioni di WCF è che non è necessario ospitarli in IIS, quindi sono disponibili più opzioni e flessibilità per renderlo performante.

+0

Hosing senza IIS ha il vantaggio di ?? – George2

+1

Trovo che sia quasi notoriamente più veloce ospitarlo come servizio tramite TCP. – Fenton

1

WCF è uno stack altamente configurabile con combinazioni quasi infinite di serializzazione, sicurezza, trasporto, ecc. Per la tua specifica domanda WCF implementa i protocolli WS- * che includono sia la sicurezza dei trasporti che dei messaggi. Il serializzatore di datacontract di WCF è sostanzialmente più veloce di xmlserialzer utilizzato in acmx. Il trasporto Net.Tcp è anche più performante rispetto al trasporto basato su http.

Ho trovato un confronto delle prestazioni qui http://msdn.microsoft.com/en-us/library/bb310550.aspx

+0

Roba carina, grazie! – George2

Problemi correlati