Domanda

Sto lavorando su un nuovo progetto.C'è qualche vantaggio ad andare con un WCF web service su un normale old fashion servizio web?

Visual Studio offre modelli per entrambi.Quali sono le differenze?Pro e contro?

È stato utile?

Soluzione

Che cosa è un "normale vecchio stile web service?" Un servizio ASMX o utilizzare WSE così?Servizi ASMX non sono naturalmente interoperabili, non il supporto WS-* specifiche, e ASMX è una tecnologia che sta invecchiando molto rapidamente.WSE (Web Miglioramenti del Servizio) servizi di aggiungere il supporto per WS-* e può essere fatto per essere interoperabile, ma WCF è destinata a sostituire il WSE, quindi, si dovrebbe prendere il tempo per imparare.Direi che se la vostra applicazione è un rapido e sporco-off, si otterrà la grande flessibilità e finire con un design migliore se si sceglie di WCF.WCF non hanno una curva di apprendimento al di là di un [WebMethod] attributo, ma la curva di apprendimento è più che esagerato, a mio parere, ed è esponenzialmente più potente e a prova di futuro legacy servizi ASMX.

A meno che la tua linea del tempo semplicemente non può tollerare la curva di apprendimento, si potrebbe essere se stessi facendo un favore enorme di apprendimento WCF invece di attaccare con ASP.NET Servizi Web.Le applicazioni che si continuerà a diventare sempre più distribuita e interconnessi, e WCF è il futuro del computing distribuito sulla piattaforma Microsoft.

Ecco un confronto tra i due.

Altri suggerimenti

I Pro di fare tutto da soli è:

  • Nessuna curva di apprendimento
  • Molto flessibile

I Pro di WCF sono:

  • Costa meno tempo nel lungo periodo
  • Switch protocolli senza bisogno di programmazione

Uno svantaggio di WCF:alcune proprietà statica nomi può essere piuttosto lunga...

Per riassumere:WCF permette di concentrarsi sulla programmazione, ma è necessario imparare prima ;-)

Pro per WCF :Non avete bisogno di un web server (es.IIS).Tu in realtà non hanno bisogno di un sistema operativo server.

Mi piace il fatto che la scrittura di servizi WCF rende facile separare il vostro servizio di attuazione.È possibile scrivere il vostro servizio e host quindi in IIS, un'applicazione console, o un servizio di Windows;si può anche parlare per via HTTP, di rete TCP, etc.

Unità di test su tutti i servizi implamentation e interazione sono più facili da fare!!!

Se il vostro progetto utilizzando framework 4.0, Perché non provare WebApi, che è facile da capire e utilizza la convenzione sulla configurazione.

Il suo un ottimo modo di costruire applicazioni con super veloce di interfacce

Consultare la guida introduttiva video da MS, Si è evoluto da WCF data Services.

http://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api

Nella mia esperienza

WCF

È assurdamente dettagliato per lavorare con esso, non è del tutto compatibile con gli altri prodotti microsoft e, naturalmente, non è ampiamente accettata al di fuori ot il mondo microsoft.

Ma il mio problema principale è che non è stabile, le tendenze di fallire (in alcune situazioni) e richiede di modificare prima di poter essere utilizzato.

Invece

SAPONE (aka standard Webservice), che funziona, è facile da lavorare ed è ampiamente compatibile (Java JAX accetta senza alcuna modifica).

Per aggiungere l'autenticazione per la SOAP potrebbe essere un po ' complicato, ma non impossibile.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top