2009-06-23 20 views
12

Ho bisogno di aggiornare i nostri servizi Web per utilizzare WCF anziché ASMX. Se le firme dei servizi Web rimangono invariate, i client esistenti che già chiamano il servizio ASMX devono modificare qualcosa sulla loro estremità? Esiste comunque l'uso di WCF, ma non li obbliga a cambiare qualcosa?Conversione da ASMX al servizio Web WCF

+2

puoi spiegare perché è necessario aggiornare? – redsquare

risposta

12

Opzione 1:

  1. Utilizzando WSDL la corrente del ASMX, generare il client utilizzando svcutil.exe
  2. Afferra l'interfaccia generato e creare un servizio WCF in base a questa interfaccia

    uscita: One nuovo endpoint WCF configurato con basicHttpBinding. I clienti devono aggiornare l'URL a cui stanno inviando i messaggi.

Opzione 2:

  1. refactoring del codice ASMX. Sposta tutta la logica in una DLL separata.
  2. Creare un servizio WCF e utilizzare la logica nella DLL refactored.

    uscita: 2 punti finali, uno per ASMX e un altro per WCF

8

Se si utilizza il BasicHttpBinding per il vostro nuovo servizio WCF, e implementare gli stessi metodi con la stessa struttura del messaggio, i chiamanti esistenti dovrebbero essere in grado di chiamare in questo nuovo servizio WCF senza alcun cambiamento da parte loro.

C'è anche un attributo AspNetCompatibilityRequirements per aggirare alcuni potenziali problemi di compatibilità - vedere lo MSDN documentation su di esso.

Marc

Problemi correlati