2012-05-10 16 views
8

Acabamos de publicar una nueva aplicación web ASP.NET MVC que funciona bien en todas las conexiones de escritorio y en todos los dispositivos móviles como iPhone, etc. Sin embargo, cuando ciertas páginas se visualizan a través de una conexión 3G (ya sea a través de un dispositivo de protección 3G en una computadora portátil o directamente en un dispositivo móvil), se publica una página blanca en blanco sin contenido de ningún tipo. Parece como si hubiéramos devuelto una solicitud vacía.Las páginas ASP.NET MVC no se sirven en 3G o en ciertos servidores proxy

En ciertas redes proxy, recibimos un problema similar por el cual dicen que nuestro tamaño de solicitud es demasiado grande. Esto tiene sentido, ya que solo afecta a ciertas páginas, y supongo que los proveedores de redes móviles operan todo tipo de servidores proxy de su lado.

Sin embargo, no he podido encontrar ninguna información sobre lo que constituiría una solicitud que era demasiado grande. He perfilado una de las páginas en cuestión, aquí están algunas de las estadísticas que pensé que podría ser relevante:

tamaño del contenido HTML: 33.04KB comprimido, sin comprimir 50.65KB
tamaño total de todas las hojas de estilo (4 archivos): 32.39KB comprimido, 181.65KB sin comprimir
tamaño total de todos JS externos (24 archivos): 227.82KB comprimido, 851.46KB sin comprimir

Para mí, el tamaño comprimido del contenido no es excesivo, pero quizás estoy equivocado. ¿Alguien puede aconsejarme sobre lo que puedo hacer para resolver este problema, ya que me ha costado mucho encontrar información definitiva sobre esto?

+0

¿Escribió el tamaño del CSS sin comprimir? Seguro espero eso. – thirtydot

+0

Lo hice, lo siento.Corregido ahora – pauldunlop

+0

¿Has probado apagar la compresión? Puede ser que su servidor web esté implementando compresión de una manera que algunos servidores proxy web o intermediarios de red 3G no puedan manejar. Por lo menos, comparta cómo se configura la compresión para que podamos ver si es allí donde reside el problema. – Jacob

Respuesta

0

Resolvimos realmente este problema, y ​​fue hasta el tamaño y número de elementos de Set-Cookie en el encabezado de respuesta. Descubrimos que teníamos un error por el cual había casi 100 elementos de Set-Cookie en el encabezado. La resolución de este error y la reducción del tamaño de los valores solucionó el problema

2

En lo que respecta al MVC, las redes 3G no son diferentes de Wifi. Sin embargo, existe una limitación en el tamaño de los archivos que los móviles pueden almacenar en caché. En ese caso, esos archivos se solicitarán al servidor con cada devolución.

Dado que algunas de las páginas funcionan, creo que es una buena idea aislar el problema en un punto específico de falla en lugar de buscar en salvaje.

Puede depurar problemas easilt con un dongle 3G y Firebug en Firefox o Chrome herramientas de desarrollo

  • Asegúrese de que no hay errores de Java Script en primer lugar, que está causando el problema
  • confirmar el Javascript/Los archivos css/html se entregan al cliente. (Firebug en el cliente). En el servidor, compruebe los registros de IIS o MS Network Monitor o cree un proxy HTTP donde pueda supervisar el tráfico. Prueba con quien te sientas cómodo.
  • Tiene casi 30 solicitudes solo para css/java script/html y el conteo puede ser mayor si tiene imágenes. Completar todas esas solicitudes puede tomar para siempre en 3G. Intente agrupar los archivos de Java Script y reducir el recuento de solicitudes. Los navegadores tienen una limitación en la cantidad de solicitudes simultáneas que pueden realizar, lo que se suma a todo el tiempo (Firefox creo que puede hacer alrededor de 10 solicitudes simultáneas).
+0

Gracias por sus sugerencias. La cuestión es que nuestra carga de JS/CSS no está muy optimizada en este momento, por lo que servimos exactamente la misma, minúscula y paquetizada carga de JS y CSS en cada página del sitio. Para mí, esto excluye la posibilidad de que esté relacionado con el JS/CSS. También supongo que descarta un problema de almacenamiento en caché/carga, ya que los mismos dispositivos móviles están bien en una conexión WiFi, etc. Supongo que debe estar relacionado con el tamaño de los paquetes HTML iniciales, pero puedo encontrar no hay información para confirmar si eso podría ser un problema, y ​​si es así, cuál es el límite de tamaño. – pauldunlop

Cuestiones relacionadas