2011-02-04 11 views
8

पेज लोड पर मेरे एएसपीनेट वेब एप्लिकेशन में मैं वर्तमान पेज यूआरएल को पकड़ता हूं और इसे एक सत्र चर में संग्रहीत करता हूं ताकि यह पता चल सके कि उपयोगकर्ता किस पेज पर है, ताकि वे प्रवेश कर सकें एक व्यवस्थापक क्षेत्र, कुछ आसपास के आसपास नेविगेट करते हैं। फिर वे रिटर्न बटन पर क्लिक कर सकते हैं और व्यवस्थापक में प्रवेश करने से पहले उस पृष्ठ पर ले जायेंगे।सत्र परिवर्तक क्रोम और एफएफ

यह सब IE8 में काम करता है; हालांकि एफएफ और क्रोम में जब व्यवस्थापक में रिटर्न लिंक कस्टम 404 पेज पर रीडायरेक्ट करता है तो मेरे पास वेब ऐप है।

Response.Write((string)Session["navurl"]);// displays "http://somedomain.com/customerror/default.aspx" 
Session["navurl"] = currentUrl;//ex. currentUrl = "http://somedomain.com/contact/" 
Response.Write((string)Session["navurl"]);//ex. currentUrl = "http://somedomain.com/contact/" 

फिर इस IE में एक समस्या के बिना काम करता है, लेकिन एफएफ और क्रोम में पृष्ठ पर लोड सत्र चर प्रदर्शित करता है:

परीक्षण प्रयोजनों के लिए मैं कोड मैं अपने पेज लोड घटना के साथ में नीचे लिखा जोड़ा 404 पेज लिंक और सेटिंग के बाद यह सही लिंक प्रदर्शित करता है। मैंने फिडलर का इस्तेमाल यह देखने के लिए किया कि क्या चल रहा था और क्रोम favicon.ico फ़ाइल के लिए जीईटी हेडर में 404 फेंक रहा है, जिसे मैं इस वेब ऐप में उपयोग नहीं कर रहा हूं।

मैंने faviocon फ़ाइल और साइट के शीर्ष में लिंक जोड़ा .मास्टर फ़ाइल और क्रोम और एफएफ अब ठीक काम करते हैं; मुझे अभी भी यकीन नहीं है कि यह क्यों हो रहा है। किसी के पास कोई विचार है कि क्रोम या एफएफ द्वारा मेरा सत्र चर क्यों अधिलेखित हो रहा है या कैसे?

एक साइड नोट के रूप में मैंने प्रक्रिया डीबगिंग के माध्यम से कदम बढ़ाया है और वर्तमान यूआरएल उचित यूआरएल है।

+0

यह फ़ेविकॉन टैब पर दिखाना चाहता है में भंडारण से पहले एक उपयोगकर्ता के navigationable पृष्ठ पर reffers देखने के लिए सुझाव देंगे, लेकिन क्यों यह करने के बाद रोक के लिए के रूप में एफएफ और क्रोम में 404 ... मुझे लगता है कि आपके पास एक और मुद्दा है जिसे आप पहचान नहीं रहे हैं। क्या यह एक पुराना कैश मुद्दा है? वे दोनों भारी कैश करते हैं। – jcolebrand

+0

क्या आप फॉर्म प्रमाणीकरण या अन्य एनटीएलएम का उपयोग कर किसी भी मौके से हैं? मैंने देखा है कि एफ/क्रोम के साथ कभी-कभी उन मामलों में कुछ मजेदार चीज होती है और आईई नहीं – DarylChymko

उत्तर

0

जब आप अपने व्यवस्थापक तक पहुंचते हैं, तो क्या आप अपना सत्र सुरक्षित रखते हैं? फिडलर का उपयोग करके आपने अपने पेज के लिए एक और अनुरोध देखा है? Src = "", या iframes के साथ छवि टैग की तलाश करें।

आपको प्रत्येक फ्रंट एंड पेज पर सत्र var सेट करना होगा, लेकिन, आपको इसे कभी भी "बैक" लिंक बनाने के लिए व्यवस्थापक पृष्ठों पर सेट नहीं करना चाहिए। यदि आप Global.asax घटनाओं का उपयोग कर रहे हैं, तो व्यवस्थापक पृष्ठों की सेवा करते समय var को बदलने से बचने के लिए सावधानी बरतें।

1

ठीक है, यदि आप सभी पृष्ठों (यानी सभी फ़ाइल एक्सटेंशन) की सेवा के लिए .NET हैंडलर का उपयोग कर रहे हैं, तो यह समझ में आता है कि जब आपका ब्राउज़र favicon.ico के लिए अनुरोध करेगा (यह समझने के लिए Google) , सर्वर इसे खोजने में विफल रहता है, और यह 404 पर रीडायरेक्ट करता है। जो बदले में सत्र चर को "अंतिम पृष्ठ परोसता" के रूप में संशोधित करता है: 404.

अब जब आप व्यवस्थापक पृष्ठ प्रस्तुत करते हैं, और सत्र के लिए " आखिरी पेज परोसता है "आपको क्या मिलता है? "404"।

मैं यूआरएल पता चल सके कि यह सत्र

if (IsAUserPage(currentUrl) 
    Session["navurl"] = currentUrl; 
संबंधित मुद्दे