2010-10-18 15 views
19

मैं सर्वर से एक ASP.NET MVC 1 आवेदन के एक अद्यतन संस्करण अपलोड के बाद से, Yellow Screen of Death कुछ इस तरह बदल गया है:ASP.NET MVC: त्रुटि पृष्ठ में अजीब वर्ण

I�%&/m�{J�J��t�� $ @ आईजी #) * च @ ईव] 흼 {{, एन '\ fdlJɞ ~ |?!?? " Ey ') = y6 h ͼhR L w | 2 = Ez < 7 : 5 < + ओई ��:� �T����W�v�<[��~2�g�2��?�ʋ�y�hYՋ������t� _N���M�l�����{�,��Xn���Q�}�����*g�������7�� ~� j'u> K { IW4 > U w | = -fYzR-

पृष्ठ बुद्धि का उपयोग करते समय रिमोट डेस्कटॉप (विंडोज सर्वर 2008 आर 2, आईई 8) के माध्यम से सीधे सर्वर पर एच त्रुटियां, आईई भी प्रतिक्रिया डाउनलोड करने का प्रयास करता है लेकिन एक त्रुटि (संदेश बॉक्स) प्राप्त करता है।

किसी को भी इससे पहले सामना करना पड़ा? कुछ पता है इसे कैसे हल करना है?

मैं भी इस सवाल का, जो बहुत simliar हो रहा है मिल गया है, लेकिन दुर्भाग्य से अब तक जवाब नहीं किया गया है: ASP.NET MVC app displaying weird characters

+0

क्या आप प्रतिक्रिया देखने के लिए फिडलर या फायरबग का उपयोग कर सकते हैं? इसके अलावा, eventlog की जांच करें; .NET को वहां त्रुटि की रिपोर्ट करनी चाहिए। – mkchandler

+0

फिडलर ब्राउज़र के समान प्रतिक्रिया दिखाता है। त्रुटि एक सरल 'अपवाद' है। मैंने जानबूझकर इस मामले में फेंक दिया, लेकिन मुझे अन्य अपवाद प्रकारों के साथ एक ही परिणाम मिला। – davehauser

+0

क्या आपके पास कोई संस्कृति या टेक्स्ट-एन्कोडिंग प्रकार सेट है जो एन्कोडिंग को बदल सकता है? या हेडर में गैर-पाठ MIME प्रकार? अपने वेब सर्वर, web.config, या नियंत्रक (या कोई कार्रवाई/प्रमाणीकरण फ़िल्टर) में सेट करें? HTTP प्रतिक्रिया का पूरा शीर्षलेख क्या है? –

उत्तर

29

सबसे अधिक संभावना स्क्रीन आपको दिखा रहे हैं अपने कोड में GZip एन्कोडिंग के कारण होता है। आप शायद एक प्रतिक्रिया दे रहे हैं। GZip/DeflateStream क्लास में फ़िल्टर करें और अपनी सामग्री को एन्कोड करने का इरादा रखते हैं, लेकिन फिर एक त्रुटि होती है और ASP.NET आपके शीर्षकों को साफ़ करता है, लेकिन फिल्टर को बरकरार रखता है। परिणाम यह है कि आपकी सामग्री GZip एन्कोडेड है लेकिन ब्राउज़र इसे डीकोड नहीं करता है क्योंकि सामग्री-एन्कोडिंग हेडर सेट नहीं है। बाहर खाली करने के लिए किसी भी repsonse फिल्टर मजबूर करने के लिए शीर्ष पर

Response.Filter = null 

अपने Application_Error दिनचर्या में:

इस ऐड ठीक करने के लिए।

एक और चीज जो आपको पेंच कर सकती है वह है GZipped सामग्री का आउटपुट कैशिंग। यदि कोई आउटपुट कैशिंग लागू किया गया है तो सुनिश्चित करें कि आपके पास VaryByCustom विकल्प है जो अलग-अलग एन्कोडिंग प्रकारों को अनुमति देता है (कोई भी नहीं, Gzip, अधिकतर डिफ्लेट करें)।

+++ रिक ---

+0

बढ़िया! बहुत - बहुत धन्यवाद! – vtortola

+2

जब मुझे यह जवाब मिला, तो मुझे विश्वास नहीं हो सका, मैंने सोचा कि जब मैंने देखा कि यह खेल खत्म हो गया था - मैंने वाईएसओडी को देखने में कभी भी खुश नहीं किया। –

+0

बकवास। अच्छा जवाब है, लेकिन मुझे यह सही समस्या मिल रही है और यह GZip से संबंधित नहीं है। –