2013-03-07 10 views
9

पर एमवीसी वेबग्रिड का उपयोग करने में विफलता प्राप्त होती है, मैं अपने आवेदन के दौरान System.Web.Helpers.WebGrid बड़े पैमाने पर उपयोग कर रहा हूं, और अधिकांश भाग के लिए यह ठीक है और वास्तव में स्थानीय रूप से चल रहा है यह हमेशा ठीक है या सर्वर पर स्वयं एसएसएल के साथ भी है ठीक। इसलिए मुझे नहीं पता कि समस्या वास्तव में आईआईएस या फ़ायरवॉल, या वास्तविक ग्रिड, या इसे ठीक करने के लिए मुझे क्या करने की ज़रूरत है।इंटरमीटेंट को केवल

सभी ब्राउज़रों पर, हालांकि परिणाम थोड़ा अलग है, लगातार ajax छंटाई और WebGrid पर पेजिंग eventially लटका का कारण होगा, और जब मैं फ़िडलर में प्रतिक्रिया का निरीक्षण मैं

[फ़िडलर] ReadResponse() मिल विफल: सर्वर ने इस अनुरोध के लिए प्रतिक्रिया नहीं दी।

अगर मैं कॉपी और यूआरएल एक ब्राउज़र यह लोड होगा में सीधे पेस्ट लेकिन अगर मैं लगातार F5 मारा मैं अंत में संदेश बताते हुए मिल जाएगा "यह वेबपृष्ठ उपलब्ध नहीं है" क्रोम में (त्रुटि 103 ERR_CONNECTION_ABORTED के साथ) या आईई में "इंटरनेट एक्सप्लोरर वेबपृष्ठ प्रदर्शित नहीं कर सकता"।

यूआरएल, काफी लंबी और जटिल है http://app.myapp.com/mygrid/9e3b2ae5-cbe1-4a4a-a355-a14f00d26e24?mylayout=true&myid=634982439599769687&readonly=False&search=-&__=634982439708207187&sort=Name&dir=ASC

की तरह कुछ और इस समस्या को दूर जाने के लिए एक SSL प्रमाणपत्र सर्वर पर स्थापित किया गया है, तो लगता है, और सब पर स्थानीय स्तर पर नहीं होता है।

कोई विचार?

+0

क्या आप अपने सर्वर साइड कोड पर किसी भी सत्र या अन्य साझा चर का उपयोग कर रहे हैं? – allu

+0

सामान्य हां में, लेकिन ग्रिड नियंत्रक के लिए मेरे पास [सत्रस्टेट (सत्रस्टेटबैवियर। रीडऑनली)] है, इसलिए यह केवल पढ़ा गया है और वास्तव में इस विशेष ग्रिड – Adam

+1

के सत्र से कुछ भी पुनर्प्राप्त नहीं किया गया है, भले ही आपके पास [सत्रस्टेट (सत्रस्टेटबिहियर.रेडऑनली)] सेट करें सत्र में लॉक प्राप्त करता है हालांकि लॉक गैर-अनन्य होगा (यानी एक और थ्रेड/अनुरोध भी लेखन पहुंच का अनुरोध कर सकता है)। यदि कोई अन्य अनुरोध है जो लिखने वाले लॉक प्राप्त करता है तो आपका केवल-पढ़ने का अनुरोध अनिश्चित काल तक पेंड कर सकता है और परिणामस्वरूप आपके प्रश्न में वर्णित स्थिति हो सकती है यदि लिखने का अनुरोध प्राप्त करने का अनुरोध पूरा नहीं होता है और लॉक जारी नहीं होता है। – allu

उत्तर

5

आपका अपने प्रश्न

के अंतिम पैराग्राफ और इस समस्या को दूर जाने के लिए अगर एक SSL प्रमाणपत्र सर्वर पर स्थापित किया गया है लगता है, और सब पर स्थानीय स्तर पर नहीं होता है।

तुरंत मुझे DEFLATE और GZIP समस्याओं को ठीक करने के बारे में सोच कर दिया, यह जानकर वे स्थानीय कनेक्शन के लिए एन्क्रिप्टेड कनेक्शन पर अक्षम किया जाएगा, और बहुत संभव है भी, जैसा कि आप वास्तव में सर्वर वातावरण से ही प्रमाण पत्र नहीं ले जा सकते आपके स्थानीय विकास पर्यावरण (जो उनके उद्देश्य को हरा देगा), और परीक्षण की प्रयोजनों के लिए एक नया आत्म-हस्ताक्षरित प्रमाणपत्र बनाना होगा, यदि यह एक आवश्यकता थी।

मैं भी पिछले .NET 4.0, संस्करण 4.0.30319.236 में से एक के साथ सटीक होने के लिए infinite loop may occur in GZipStream or DeflateStream मुद्दों पर ठोकर खा गया है। बाद में इन समस्याओं को हल किया गया है .NET 4.0 बनाता है और आपके साथ 4.0 इंस्टॉलेशन के शीर्ष पर .NET 4.5 इंस्टॉल करके बचा जा सकता है। यदि आपकी समस्याएं उत्पन्न हो रही हैं, तो अभी भी कहना मुश्किल है और कुछ अन्य सर्वर-साइड सेटिंग्स ने इसका कारण बन सकता है, जैसे अब आईआईएस लॉकडाउन टूल को बंद कर दिया है, या यहां तक ​​कि URLScan उनके लिए संपीड़न सक्षम होने पर लंबे यूआरएल अनुरोधों को स्वीकार नहीं कर रहा है।

टी एल; डॉ - या तो मामले में, स्पष्ट निष्कर्ष अक्षम करने का प्रयास किया गया था आईआईएस सर्वर के urlCompression अपने Web.config फ़ाइल में इन अनुरोधों (और/या httpCompression) के लिए, और अगर मुद्दों अभी भी जारी रहती है देखें:

<configuration> 
    <system.webServer> 
     <urlCompression doStaticCompression="false" doDynamicCompression="false" /> 
    </system.webServer> 
</configuration> 

यह स्पष्ट रूप से एक हैक समाधान है जिसे सर्वर और आपके स्थानीय वातावरण के बीच मतभेदों की तुलना करके आगे देखा जाना चाहिए, यदि यह संभव है। यह भी संभव है कि सर्वर सभी नवीनतम पुस्तकालयों के साथ अद्यतन नहीं किया गया था, और ऐसा करने से यह भी हल हो सकता है।

अस्वीकरण: मुझे एहसास है कि यह वास्तव में 100% बुलेट प्रूफ उत्तर नहीं है, हालांकि ओपी ने टिप्पणियों में सुझाव दिया कि यह चाल है। मैं कल भी posted this question and a possible answer to it पर DMZ है, अगर किसी और को एक बेहतर जवाब का पता होगा पूछ और इन मुद्दों को जानते हुए भी हैं तुरंत हमारे IT Security जादूगरों द्वारा मान्यता प्राप्त होना है, लेकिन सेंट पैट्रिक्स डे इसका असर :)

चीयर्स लिया है लगता है !

संबंधित मुद्दे