2012-05-10 27 views
8

Tüm masaüstü bağlantılarında ve iPhone gibi tüm mobil aygıtlarda sorunsuz çalışan yeni bir ASP.NET MVC tabanlı web uygulaması başlattık Bununla birlikte, belirli sayfalar bir 3G bağlantısı üzerinden görüntülendiğinde (bir dizüstü bilgisayardaki bir 3G dongle veya doğrudan bir mobil cihaz üzerinden), boş, beyaz bir sayfa, herhangi bir içerik olmadan sunulur. Boş bir istekte bulunmuş gibi görünüyor.ASP.NET MVC sayfaları 3G veya belirli proxy sunucularda sunulmuyor

Bazı proxy ağlarda, istek boyutumuzun çok büyük olduğunu söyledikleri benzer bir sorunla karşılaşıyoruz. Bu tür bir şey sadece belli sayfaları etkilediğinden anlamlıdır ve mobil şebeke sağlayıcılarının kendi taraflarında her türlü proxy sunucusunu çalıştırdığını varsayabilirim. Ancak, çok büyük bir istek oluşturacak herhangi bir bilgi bulamadım. Ben söz konusu sayfaların bir profilli ettik, burada ben alakalı olabileceğini düşündüm istatistikler bazıları şunlardır:

HTML içeriği boyutu: tüm stil sayfaları 33.04KB sıkıştırılmış, 50.65KB sıkıştırılmamış
Toplam boyut 32.39KB sıkıştırılmış, tüm dış JS 181.65KB sıkıştırılmamış
Toplam boyut (24 dosya): (4 dosya) 227.82KB 851.46KB sıkıştırılmamış, sıkıştırılmış

Bana göre, içeriğin sıkıştırılmış boyutu aşırı değil, belki de yanıldım. Bu sorunu çözmek için neler yapabileceğimi öneren herkes, bu konuda herhangi bir kesin bilgi bulmakta zorlandığım gibi.

+0

Sıkıştırılmamış CSS'nizin boyutunu yazdınız mı? Umarım öyle olur. – thirtydot

+0

Yaptım, üzgünüm.Sabit şimdi – pauldunlop

+0

Sıkıştırmayı kapatmayı denediniz mi? Web sunucunuzun, bazı web proxy'lerinin veya 3G ağ aracılarının işleyemeyeceği bir şekilde sıkıştırma uyguladığı olabilir. En azından, sıkıştırmanın nasıl ayarlandığını paylaşın, böylece sorunun nerede yandığını görebiliriz. – Jacob

cevap

0

Bu sorunu gerçekten çözdük ve yanıt başlığında Set-Cookie öğelerinin boyutuna ve sayısına değinmiş. Başlıkta yaklaşık 100 Set-Çerez öğesinin bulunduğu bir hata olduğunu gördük. Bu hatayı çözme ve değerlerin boyutunu azaltma sorunu çözüldü Sorun

2

MVC ile ilgili olarak 3G ağları Wifi'dan farklı değildir. Ancak, cep telefonlarının önbelleğe alabileceği dosyaların boyutunda bir sınırlama vardır. Bu durumda, bu dosyalar sunucudan her bir geri gönderme ile istenecektir.

Sayfaların bir kısmı işe yaradığından, sorunu doğal olarak aramadan ziyade belirli bir hata noktasına ayırmak iyi bir fikir.

Sen problemler

  • Make Firefox veya Chrome geliştirici araçları 3G dongle ve kundakçı ile easilt debug emin onayla Javascript
  • soruna neden ilk etapta hiçbir Java Script hata olduğunda/css/html dosyaları gerçekten müşteriye teslim edilir. (İstemcide Firebug). Sunucuda IIS günlüklerini veya MS Ağ İzleyicisi'ni kontrol edin veya trafiği izleyebileceğiniz bir http proxy oluşturun. Hangisinin rahat olduğunu dene.
  • Sadece css/java script/html için yaklaşık 30 istek var ve görüntüleriniz varsa sayım daha yüksek olabilir. Tüm bu istekleri tamamlamak 3G'de sonsuza kadar sürebilir. Java Script dosyalarını paketlemeyi deneyin ve istek sayısını azaltın. Tarayıcıların yapabilecekleri eşzamanlı isteklerin sayısı sınırlıdır, tüm zamana eklenir (Firefox, yaklaşık 10 eş zamanlı istekte bulunabileceğine inanıyorum).
+0

Önerileriniz için teşekkür ederiz. Şöyle ki, JS/CSS yüklememiz şu anda çok iyi bir şekilde optimize edilmemiştir, bu yüzden sitede her sayfada tam olarak aynı, minified ve paketlenmiş JS ve CSS yüklerini sunuyoruz. Bana göre bu, JS/CSS ile ilişkili olma olasılığını ortadan kaldırıyor. Aynı mobil aygıtların bir WiFi bağlantısında olduğu gibi önbelleğe alma/yükleme sorununu da göz önünde bulundurduğunu varsayalım. Varsayımın, ilk HTML paketlerinin boyutuyla ilgili olması gerekir. Bu bir sorun olup olmadığını teyit edecek hiçbir bilgi ve eğer öyleyse, bu boyut sınırının ne olduğu. – pauldunlop