2008-11-30 32 views

Respuesta

1

¿Quieres consumir o publicar. Si desea consumir, como hacer solicitudes, la mejor forma de interactuar con él es averiguar el tipo de retorno, generalmente JSON o XML. Después de que tenga su tipo, puede usar XmlDocument o JavaScriptSerializer para extraer la información y usarla.

Si desea producir una interfaz REST, probablemente desee utilizar MVC a REST View o WCF como dijo @Brian.

35

Un enfoque directo y fácil sería usar WebClient que se encuentra en el espacio de nombres de System.Net.

Casi todo lo que necesita hacer es pasar el URI requerido con los parámetros necesarios en forma de cadena de consulta y debe obtener la respuesta en forma de cadena, ya sea json o xml. Por ejemplo.

using System.Net; 

string param = "hello"; 

string url = String.Format("http://somedomain.com/samplerequest?greeting={0}",param); 

WebClient serviceRequest = new WebClient(); 
string response = serviceRequest.DownloadString(new Uri(url)); 

Entonces, al igual que Nick se ha mencionado, se puede utilizar XmlDocument o JavaScriptSerializer para manipular los resultados según sea necesario. De todos modos, le sugiero que revise la documentación que contiene para ver si cumple con sus necesidades. http://msdn.microsoft.com/en-us/library/system.net.webclient.aspx

+4

Deberá usar WebClient.UploadData para poder especificar el método que utiliza. HttpWebRequest es un poco más flexible y posiblemente más adecuado para interactuar con REST. –

9

En lugar de usar WebClient como Kenney, puede usar HttpWebRequest y HttpWebResponse y procesar el resultado con un StreamReader y XmlDocument.

+0

Esto requiere más código repetitivo, pero en realidad le permite obtener el objeto respuesta, lo cual es útil si usted tiene que mirar a las cabeceras HTTP y/o los datos devueltos. – David

+0

@Custodio, ¿puedes agregar un ejemplo, por favor? – Ciwan

2

En mi opinión, la forma más fácil de implementar una API REST es el uso de servicio Pila:

http://www.servicestack.net/

que mi último proyecto de Windows hice una prueba de concepto en WCF y ServiceStack y la pila de servicio la aplicación fue más rápida (puede buscar mediciones en el sitio de Service Stack) y es más fácil de mantener (menos código, menos implementación mágica). Y el punto más importante, te ayuda a concentrarte en la simplicidad.

3

Existe también RestSharp, un componente .NET de peso ligero que le permite consumir fácilmente servicios web REST

1

Si los servicios REST se construyeron utilizando la API Web ASP.NET continuación, me gustaría utilizar las bibliotecas de cliente Microsoft HTTP. (paquete nuget disponible). nótese bien Esto parece haber reemplazado las bibliotecas del API de la web que se enumeran en la captura de pantalla nuget en el siguiente enlace.

Esto funcionará de .NET 4, Windows tienda de aplicaciones, Windows Phone 7.5/8, Silverlight 4 y 5.

En teoría se podría utilizar para llamar a cualquier servicio REST construido con otros marcos también.

Aquí hay un enlace con algunas muestras sobre el uso de la clase HttpClient llamar a los servicios REST: Calling a web api from a .net client

Cuestiones relacionadas