2012-03-09 43 views
10

Estoy empezando a utilizar la nueva API web de ASP.NET. Cuando abro una llamada de método de servicio de muestra usando un navegador como FF o Chrome, devuelve el xml correctamente en el navegador. Sin embargo, en Internet Explorer (7-9) aparece un aviso:ASP.NET Web API en IE

¿Desea abrir o guardar la lectura (58 bytes) desde [nombre del servidor]?

Cuando selecciono Abrir, se pregunta con qué programa se abrirá, y luego se mostrará el xml en ese programa. Esperaba que, dado que los métodos aceptaran el método GET, simplemente devolvería los resultados en el navegador, sin embargo, ese no parece ser el caso con IE. Me he encontrado con este tipo de problema antes con ASP.NET MVC al devolver JSON, sin embargo, ni siquiera estoy devolviendo JSON en este caso.

¿Cómo le digo a IE que devuelva los resultados en el navegador como lo hacen FF y Chrome?

Respuesta

4

Lo he notado también. De hecho, está devolviendo los resultados como JSON. Para ver el resultado de la llamada ingrese a las herramientas de desarrollador (F12), luego vaya a Red, haga clic en Iniciar supervisión y vuelva a enviar su solicitud. Debería ver el resultado aparecer en la lista de seguimiento. Luego puede hacer doble clic en él y seleccionar Ver cuerpo para ver el cuerpo de la respuesta.

0

No es un problema. IE no sabe cómo manejar esos formatos. En Chrome, tampoco ve el JSON de una manera agradable. Instalé una extensión llamada JSONView en Google Chrome, ahora tengo una buena vista.

IMO, no me importa eso. Para fines de prueba, siempre utilizo Fiddler, que es más agradable y tiene un control total sobre la solicitud en términos de encabezados y otras cosas.

+1

Es un gran problema si tiene que admitir IE – nickbw

+0

@nickbw ¿desea que sus usuarios vean su salida json en IE? – tugberk

+0

Desearía que todos usaran Chrome, pero algunos de ellos usan versiones anteriores de IE y la única forma en que he podido utilizar la respuesta json es cambiando el tipo de contenido a "texto/normal", y luego analizando la respuesta. – nickbw

4

Sé que es un poco tarde para publicar otra respuesta, pero podría ser útil para otros que estén realmente interesados ​​en hacer que IE muestre los resultados de la API web de ASP.NET en su propia ventana. Probé la solución que figura en el siguiente hilo SOF y funcionó para mí.

How can I convince IE to simply display application/json rather than offer to download it?

resultados API Ahora Web en formato JSON se están mostrando en mi ventana de IE.

+0

El enlace proporciona una edición de registro rápida que solucionará este problema muy bien. – atconway