menú
¿Música de YouTube sin molestos comerciales? ¡Ahora es posible!
TubeFiesta es una aplicación que te permite reproducir música de YouTube como un reproductor tradicional.
Crear listas, reproducción aleatoria, repetir, y hasta exportar el video a otra pantalla.
Conocer más Ir a tfiesta.com

Crear servicio REST WCF en 2 minutos

Publicado el 04/12/2014 | 4376 visitas

Los servicios REST se convirtieron en una de las mejores opciones para exponer información o acciones reutilizables por uno o varios sistemas de información, hoy en día son mis favoritos.
Muchas personas que desean iniciarse en este mundo posiblemente no conozcan y estén confundidos, y como los servicios WCF pueden llegar a ser un poco complejos en su configuración comparto una forma extremadamente rápida de crear y exponer un servicio WCF por REST en menos de 2 minutos... fácil y super rápido.

rápido

En mi caso crearé el servicio en un proyecto vacío de ASP.NET tradicional.

crear proyecto asp.net
crear proyecto asp.net 2

Luego vamos a añadir un nuevo elemento en el proyecto, este será un servicio WCF Habilitado para AJAX que tiene algunas configuraciones predeterminadas que nos agilizan el trabajo de configuración.

crear wcf habilitado para ajax

Vamos bien... tenemos un servicio ya creado sin ninguna funcionalidad.

servicio wcf en blanco

Ahora debemos realizar una configuración para que el servicio sea expuesto por REST reemplazando la etiqueta <enableWebScript /> por <webHttp />.

Adicionalmente podemos establecer el parámetro helpEnabled="true" para que nos muestre una página de ayuda para cada método que exponemos, así nos indicará cómo se debe hacer la solicitud y a que URL.

habilitar webHttp WCF

Finalmente vamos a crear un método que "haga algo", lo consumiremos por medio de un HTTP GET enviándole como parámetro el nombre de una persona, y nos retornará la edad de esa persona... veamos.

método GET WCF REST

A un método común y corriente debemos establecerle la propiedad WebGet (para HTTP GET) o WebInvoke (para HTTP GET, POST y PUT). También debemos definir un template que será la máscara en la URL para acceder a ese método (no con el nombre del método), y con ResponseFormat y RequestFormat le indicamos si se utilizará JSON o XML para el transporte de datos.

Pruebas

Ejeuctar el proyecto, y en el navegador copiar la url correspondiente al servicio + uritemplate + parámetros.

En mi caso http://localhost:3568/EledwinService.svc/clientes/edwin tendremos la siguiente respuesta:

prueba GET WCF REST
Para los métodos WebInvoke se debe establecer también la propiedad Method="POST o PUT o DELETE" Solo los métodos GET pueden ser probados por el navegador, para los demás (POST, PUT, DELETE) necesitas un cliente REST, en este articulo hablo de ello.

Apoya mi esfuerzo compartiendo y comentando, te lo agradezco.

Talvez te interese...

Tutorial de sockets en c# con ejemplos - Parte 2 - UDP
Tutorial de sockets en c# con ejemplos - Parte 1
[solución] No puede obtener acceso a la página solicitada debido a la configuración de la extensión
[solución] El proveedor de almacenamiento especificado no se encuentra en la configuración
blog comments powered by Disqus