2010-10-18 25 views
19
Ben sunucuya bir ASP.NET MVC 1 uygulamasının güncellenmiş bir sürümünü yükledi yana

, Yellow Screen of Death böyle bir şey için değişti:ASP.NET MVC: Hata sayfasında Garip karakterler

I�%&/m�{J�J��t�� $ @ @ f iG #) * eVe] 흼 {{N '\ fdlJɞ ~ |?!?? " Ey ') = y6 h ͼhR L w | 2 = E < 7 : 5 < + oy ��:� �T����W�v�<[��~2�g�2��?�ʋ�y�hYՋ������t� _N���M�l�����{�,��Xn���Q�}�����*g�������7�� ~� Witj'u> K { IW4 > U w | = -fYzR-

Uzak Masaüstü (Windows Server 2008 R2, IE8) üzerinden sunucuda h hataları doğrudan, IE bile yanıtı indirmeye çalışır ancak bir hata (mesaj kutusu) alır.

Bunu daha önce hiç kimse karşılaştı mı? bunu nasıl çözeceğimize dair bir fikri olan?

ben de çok simliar gibi görünüyor bu soruyu, buldum, ama maalesef artık cevaplanmayan: ASP.NET MVC app displaying weird characters

+0

Yanıt görmek için Fiddler veya Firebug'ı kullanabilir misiniz? Ayrıca, olay günlüğünü kontrol edin; .NET orada hatayı bildiriyor olmalı. – mkchandler

+0

Fiddler tarayıcıyla aynı yanıtı gösterir. Hata basit bir 'İstisna'. Bu durumda kasıtlı olarak attım ama aynı sonucu diğer istisna tipleriyle aldım. – davehauser

+0

Kodlamayı değiştirebilecek herhangi bir kültür veya metin kodlama türünüz var mı? Veya başlıktaki metin olmayan MIME türleri? Web sunucunuzda, web.config'de veya denetleyicide (veya herhangi bir eylem/yetkilendirme filtresinde) ayarlanmış mı? HTTP yanıtının tam başlığı nedir? –

cevap

29

Büyük olasılıkla kodunuzda GZip kodlama kaynaklanır gösteriyoruz ekranı. Muhtemelen GZip/DeflateStream sınıfına bir Response.Filter uyguluyor ve içeriğinizi kodlamak niyetindesiniz, ancak bir hata oluşur ve ASP.NET Başlıklarınızı temizler, ancak filtreyi sağlam bırakır. Sonuç, içeriğinizin GZip kodlu olduğu, ancak İçerik Kodlama başlığı ayarlanmadığı için tarayıcının şifresini çözmemesidir. temizlemek için herhangi repsonse filtreleri zorlamak için üst taraftaki

Response.Filter = null 

senin Application_Error rutinine:

Bu eklenti düzeltmek için.

Sizi kırabilecek başka bir şey de, GZipped içeriğinin OutputCaching olmasıdır. Herhangi bir OutputCaching uygulanmışsa, farklı kodlama türlerine izin vermek için VaryByCustom seçeneğine sahip olduğunuzdan emin olun (yok, Gzip, Deflate büyük olasılıkla).

+++ Rick ---

+0

Harika! bir milyona teşekkürler! – vtortola

+2

Bu cevabı bulduğumda buna inanamadım, hizmet ettiğimde oyunun bittiğini düşünmüştüm - YSOD'u görmekten hiç bu kadar mutlu olmamıştım. –

+0

Crap. İyi cevap, ama bu kesin problemi alıyorum ve GZip ile ilgili değil. –