Differenza chiave: un servizio Web può essere descritto come un sistema di componenti software disponibili su Internet. Comprende protocolli e standard utilizzati per lo scambio di dati. Pertanto, assiste nello scambio interoperativo di dati tra macchine su una rete. WCF è l'acronimo di Windows Communication Foundation. Può essere descritto come un framework per la creazione di applicazioni orientate ai servizi. Fornisce un ambiente di runtime per i servizi. I "servizi web" WCF fanno parte di uno spettro molto più ampio rispetto ai servizi web.
- Orientamento al servizio: l'accento è posto sulla creazione di applicazioni orientate ai servizi.
- Interoperabilità - Gli ultimi standard del settore sono implementati per l'interoperabilità dei servizi Web.
- Schemi di più messaggi: sono disponibili numerosi modelli per lo scambio di messaggi.
- Metadati del servizio: vengono utilizzati formati come WSDL e lo schema XML per supportare i metadati del servizio di pubblicazione.
- Sicurezza: sono disponibili funzionalità di sicurezza come crittografia e autenticazione.
- Messaggio durevole: un messaggio di un modello durevole viene sempre salvato in un database.
- Supporto AJAX e REST
- Estensibilità: offre estensibilità in varie aree come estensione di binding, channel layer, serviceHost, ecc.
Per confrontare i servizi Web con i servizi WCF, è possibile determinare la differenza tra il servizio Web in ASP.net e il servizio WCF.
Confronto tra servizi Web e WCF in ASP.net:
Servizi web | WCF | |
Definizione | Un servizio Web può essere descritto come un sistema di componenti software disponibili su Internet. Comprende protocolli e standard utilizzati per lo scambio di dati. Pertanto, assiste nello scambio interoperativo di dati tra macchine su una rete. | WCF è l'acronimo di Windows Communication Foundation. Può essere descritto come un framework per la creazione di applicazioni orientate ai servizi. Fornisce un ambiente di runtime per i servizi. |
Accessibilità | Rigido: è possibile accedere ai servizi Web solo tramite HTTP | Flessibile |
Formato file / estensione | .asmx come estensione del file | .svc come estensione del file |
serializzazione | Lo spazio dei nomi System.Xml.serialization viene utilizzato per la serializzazione | Lo spazio dei nomi System.Runtime.Serialization viene utilizzato per la serializzazione |
Eccezioni non gestite | Restituito al client come errori SOAP | Non restituito ai client come errori SOAP |
Sviluppo del cliente | Fatto utilizzando uno strumento da riga di comando WSDL.EXE | Fatto usando il ServiceMetadatatool |
Codifica | XML1.0, MTOM (Message Transmission Optimization Mechanism), DIME (Incapsulamento diretto di messaggi Internet) | XML1.0, MTOM, binario |
Sviluppo del servizio | È stato obbligatorio aggiungere l'attributo WebService a una classe e il WebMethodAttribute a uno dei metodi di quella classe che devono essere operazioni del servizio. | Gli endpoint devono essere definiti (uno o più) |
Rappresentazione del messaggio | È possibile personalizzare le intestazioni dei messaggi SOAP. | Attributi, MessageContractAttribute, MessageHeaderAttribute e MessageBodyMemberAttribute vengono forniti per spiegare la struttura dei messaggi SOAP. |