asp.net mvc - Redirection fails in IE but is fine with Firefox -
मैं एक नियंत्रक को सुरक्षित करने के लिए ASP.NET MVC में एक & lt; ऑथराइज़ & gt; विशेषता का उपयोग करता हूं। मेरी पृष्ठ अपनी सामग्री के हिस्से को AJAX द्वारा लोड करती है I यहां IE8 के साथ एक समस्या है, लेकिन Firefox 3.6 नहीं है:
- यूजर जॉय के रूप में साइन इन करें और नेविगेट करें। सब कुछ ठीक काम करता है अजाक्स पेज को
& lt; authorize & gt;विशेषता से संरक्षित किया गया है। - साइन आउट करें, जो मुझे रीडायरेक्ट करता है वह पृष्ठ
& lt; प्राधिकृत करें & gt;का उपयोग नहीं करता है। - फिर से साइन इन किए बिना नेविगेट करें। मुझे उस साइन-इन पेज पर पुनः निर्देशित किया जाना चाहिए क्योंकि उस नियंत्रक में
& lt; authorize & gt;विशेषता है।
चरण 3 फ़ायरफ़ॉक्स के साथ काम करता है, लेकिन IE8 गैर- Ajax भाग का और फिर कभी नहीं अजाक्स सामग्री लोड करता है मुझे आश्चर्य है कि जब तक मुझे साइन इन पेज पर पुनः निर्देशित किया जाना चाहिए तब तक कोई भी सामग्री प्रदर्शित होती है।
मेरा कोड लॉगिन पृष्ठ पर इस पर पुनर्निर्देश करता है:
वापस लौटें ( "Https://login.live.com/wlogin.srf?appid=MY-APP-ID&alg=wsignin1.0") फ़ायरफ़ॉक्स इस रीडायरेक्शन को क्यों संभालता है, लेकिन IE नहीं करता है? चूंकि यह पहली बार काम करता है (ऊपर चरण 1), क्या कोई कैश समस्या है?
संपादित करें : मैंने फ़ेडरलर को यह देखने के लिए उपयोग किया था कि क्या अजाक्सपेज को कैश किया गया था, लेकिन ऐसा नहीं लगता हो। मुझे लगता है कि यह कैश्ड थे, मुझे एक HTTP स्थिति कोड 200 वापस मिल गया था। मैं बस यद्यपि गलतफहमी कर सकता हूं।
[आउटपुट कैचे (नोस्टोर = सच, अवधि = 0, VaryByParam = "*")] नियंत्रक वर्ग में रखा गया यह विशेषता, कैशिंग को अक्षम करता है। चूंकि मुझे अपने आवेदन में कैशिंग की ज़रूरत नहीं है, इसलिए मैंने इसे अपने बेस कंट्रोलर वर्ग में रखा है:
[आउटपुटकैच (नोस्टोर = सच, अवधि = 0, व्यर्यबीपाराम = "*")] सार्वजनिक सार वर्ग BaseController: नियंत्रक { यहां आउटपुट कैश एट्रीब्यूटी के बारे में अच्छा वर्णन है:
Comments
Post a Comment