2012-07-26 19 views
5

Estoy desarrollando una aplicación C# WinRT que realiza solicitudes POST y GET a un servidor web.HttpClient HttpResponseMessage Address/URI

¿Alguien sabe si hay una forma de obtener el URI/Dirección de respuesta cuando se utiliza un objeto HttpClient ?.

Si uso las clases HttpWebRequest/HttpWebResponse, entonces puedo obtener esta información (a través de la propiedad ResponseUri en HttpWebResponse), pero no veo cómo obtenerla usando las clases HttpClient/HttpResponseMessage.

Gracias

+0

Sólo para hacer esto aún más explícita - 'HttpClient' comenzando con .NET 4.5. Me tomó un tiempo averiguar por qué no puedo encontrar el ensamblado System.Net.Http (en el que se define el tipo) con mi framework 4.0 :) –

+2

Creo que puedes obtener la IU redirigida desde HttpResponseMessage.RequestMessage.RequestUri –

+0

Gracias Peter, Eso funciona. –

Respuesta

2

Esto tiene dos años, pero me encontré con esta pregunta con exactamente el mismo deseo, y se contesta en un comment por @PeterRitchie, por lo que estoy copiando para futuros visitantes.

Creo que se puede obtener la interfaz de usuario redireccionado de HttpResponseMessage.RequestMessage.RequestUri

+1

HttpResponseMessage.RequestMessage se refiere a la solicitud que condujo al mensaje de respuesta. HttpResponseMessage.RequestMessage.RequestUri hace referencia a la uri que se solicitó, no la última uri desde la que se redirigió la respuesta. Referencia: http://msdn.microsoft.com/en-us/library/system.net.http.httpresponsemessage.aspx – stormwild

+0

@stormwild Esto funciona, aunque ... Estoy de acuerdo en que no es el diseño más reconocible. Pero el 'HttpResponseMessage.RequestMessage' refleja la solicitud realizada más recientemente. En la mayoría de los casos, esa es la solicitud que usted presenta. Pero en los casos que se describen aquí, es la solicitud presentada después del 302 (o lo que sea). –