2009-08-14 22 views
6

Estoy emitiendo una HttpWebRequest en Silverlight e intento leer (entre otras cosas) los encabezados de la respuesta. Lamentablemente, aunque puedo obtener el objeto de respuesta (HttpWebResponse), cualquier intento de acceder a la colección de encabezados da como resultado una excepción "no implementada". Alguna idea de como hacer esto? Estoy intentando extraer un conjunto de registros grande de azul (~ 8k filas) y necesito verificar el encabezado de respuesta para el token de continuación.Recuperar encabezados de respuesta en Silverlight?

Respuesta

5

Gracias a @silverfighter, tengo la respuesta. El truco fue decirle a SilverLight 3 que permitiera que el cliente (.NET) manejara la llamada en lugar del navegador (el valor predeterminado). Una vez que hace esto, tiene acceso a los encabezados de respuesta a través de los enfoques WebClient y HttWebRequest. Más información aquí:

http://blogs.msdn.com/carlosfigueira/archive/2009/08/15/fault-support-in-silverlight-3.aspx http://msdn.microsoft.com/en-us/library/dd470096(VS.95).aspx http://blogs.msdn.com/silverlight_sdk/archive/2009/08/12/new-networking-stack-in-silverlight-3.aspx

0

Desafortunadamente, si bien esa propiedad existe, de manera similar devuelve una excepción no implementada.

Estoy teniendo dificultades para creer que esto es tan difícil como parece ... Me imagino que muchos tienen el mismo requisito.

0

encabezados de respuesta no son compatibles con el explorador HTTP Manejo. Debe especificar el manejo de cliente HTTP antes de llamar al HttpHandler:

bool httpResult = WebRequest.RegisterPrefix ("http: //", WebRequestCreator.ClientHttp);

WebClient wc = new WebClient();

wc.OpenReadCompleted + = new OpenReadCompletedEventHandler (wc_OpenReadCompleted);

wc.OpenReadAsync (...);

Los encabezados de resultados ahora estarán disponibles en el objeto webClient en el método wc_OpenReadCompleted. Eche un vistazo a: http://msdn.microsoft.com/en-us/library/dd920295(v=vs.95).aspx

Cuestiones relacionadas