2012-04-16 17 views
15

Tengo una aplicación que estoy construyendo y, por el momento, construí algunos servicios web usando ASMX. Al final, la aplicación se implementará en azul. Los servicios web son realmente simples, ya que lo único que hacen es llamar a una clase en la carpeta AppCode que maneja todo el trabajo.asmx a WCF o API web

¿Va a ser mejor/más fácil/más rápido/más rendimiento mover mis servicios web a WCF oa la API web?

Gracias por sus sugerencias.

PD: Deseo agregar que los servicios web deberán funcionar en HTTPS. Por el momento, están en HTTP porque estoy en modo de desarrollo.

+1

He votado por ServiceStack - http://www.servicestack.net – Phill

Respuesta

18

One-liner: si ya tiene un código de trabajo y es arriesgado moverlo a otra tecnología, quédese con el código de trabajo.

Depende de quién está respondiendo.

La API web adopta HTTP y le ofrece flexibilidad que no es posible con ASMX y WCF. Si te preocupa el HTTP, la negociación de contenidos, los tipos de medios y necesitas que tu servicio sea llamado desde cualquier cliente (incluido AJAX) y luego desde la API web.

Si necesita poder utilizar los estándares de seguridad WS * (por ejemplo, utilizando certificados X509, ADFS, etc.), posiblemente cambie su enlace, sirva a diferentes clientes utilizando diferentes enlaces, extensibilidad, etc. use WCF.

Si ya tiene un código de trabajo, y todo lo que le importa es RPC y sus clientes siempre van a utilizar ASMX, entonces quédese con ASMX.

Rendimiento

ningún punto de referencia, pero mi instinto, en orden descendente: API web ASMX, WCF

más fácil

En orden descendente: ASMX (ya lo conoce), API web WCF

rápido desarrollo

Si a todos ellos, sabe web API y ASMX continuación WCF


PD: es bueno aprender nuevas tecnologías. La forma en que van las cosas (y ya que se está moviendo a Azure) es importante invertir en nuevas tecnologías.

+0

¡Hola! Los WS están trabajando en ASMX porque están en desarrollo. Quiero mudarme de ASMX. Gracias por las consideraciones de seguridad que mencionaste; Necesito hacer que funcionen en HTTPS. – frenchie

+1

@frenchie en este caso, me gustaría ir a la API web. – Aliostad

+0

El servicio ASMX funciona bien a través de HTTPS en Azure. Simplemente deberá agregar el punto final y asignarlo con su certificado. No estoy votando por el uso de ASMX en la producción, solo para hacerle saber que puede funcionar. –

Cuestiones relacionadas