5

नहीं रखता: पहली बार चलाने मैं assigned Session Variable पाठ मिलता है परIE8 सत्र चर

<%@ Page Language="C#" %> 
<!DOCTYPE html> 
<script runat="server"> 

    protected void btn_Click(object sender, EventArgs e) 
    { 
     lbl.Text = HttpContext.Current.Session["a"] == null ? 
         "null" : 
         HttpContext.Current.Session["a"].ToString(); 
    } 
    protected void btn_Click2(object sender, EventArgs e) 
    { 
     lbl.Text = HttpContext.Current.Cache["a"] == null ? 
         "null" : 
         HttpContext.Current.Cache["a"].ToString(); 
    } 

    protected void Page_Load(object sender, EventArgs e) 
    { 
     if (!Page.IsPostBack) 
     { 
      HttpContext.Current.Session["a"] = "CBA"; 
      lbl.Text = "assigned Session Variable"; 

      HttpContext.Current.Cache.Add(
        "a", "ABC", null, 
        DateTime.Now.AddHours(2), TimeSpan.Zero, 
        CacheItemPriority.NotRemovable, null); 
     } 
    } 

</script> 

<html> 
<head> 
    <title>Testing Session</title> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
     <asp:Button ID="btn" runat="server" Text="read Session" OnClick="btn_Click" />&nbsp;&nbsp; 
     <asp:Button ID="btn2" runat="server" Text="read Cache" OnClick="btn_Click2" /> 
     <hr /> 
     <asp:Label ID="lbl" runat="server" /> 
    </div> 
    </form> 
</body> 
</html> 

, लेकिन सत्र ऑब्जेक्ट क्लिक पर हमेशा null

है आईडी में एक विकल्प है जो मुझे सामान्य सत्र चर का उपयोग करने के लिए चालू/बंद करने की आवश्यकता है?

आईआईएस 6.0 और कैसिनी (वीएस 2008 और 2010 के तहत) पर ठीक काम करता है।

मैं क्या हो रहा है, इस पर विचार के बिना होने के लिए शुरू कर: ओ (

किसी भी मदद की बहुत सराहना कर रहा है


ऊपर के उदाहरण पेज की प्रक्रिया

alt text

alt text


अधिक परीक्षण से पता चलता है कि यह केवल आईई (इस मामले में IE8), फायरफॉक्स, सफारी, ओपेरा, क्रोम में क्या होता है वे सब सही "जवाब"

alt text


देना

जांच screen cast of the situation

+0

कोड उदाहरण से अलग दिखाई देता है। कौन सा क्लिक इवेंट "पुनः लोड" आग करता है? कैश या सत्र से निपटने वाला कोई? –

+0

हां, मैं कैश को संभालने के तरीके के साथ-साथ 'कैश' बटन जोड़ने के लिए समाप्त हुआ ... यह सही ढंग से संभालता है, लेकिन मुझे सत्र चर की आवश्यकता है क्योंकि मैं उन्हें प्रति उपयोगकर्ता चाहता हूं, प्रति एप्लिकेशन और डेटा नहीं ऐसा कुछ है जिसे मुझे वास्तव में कैश में रखने की आवश्यकता नहीं है। ** स्क्रीनकास्ट ** में नया कोड है (मेरे प्रश्न की शुरुआत में उदाहरण कोड) – balexandre

+0

मुझे एक ही समस्या है ... क्या कोई जानता है कि समस्या क्या हो सकती है? यह साइट फ़ायरफ़ॉक्स पर ठीक काम करती है, लेकिन उपयोगकर्ता (पूरे देश में) IE8 का उपयोग करते हैं। साइट कुछ दिनों पहले आईई 8 में बस ठीक काम कर रही थी। मुझे स्पष्टीकरण नहीं मिल रहा है! –

उत्तर

2

समस्या डोमेन में अंडरस्कोर हो सकती है। _ को हटाएं और देखें कि क्या वही होता है

+1

मेजबान को अवरुद्ध करते समय कुकीज़ को अवरुद्ध करना IE में एक ज्ञात समस्या है। Http://support.microsoft.com/kb/316112 – EricLaw

0

सत्र आईडी को ब्राउज़र द्वारा स्थानीय रूप से संग्रहीत कुकी के माध्यम से बनाए रखा जाता है।

क्या आप किसी प्रकार के संरक्षित मोड में चल रहे हैं जो IE8 को कुकीज़ संग्रहीत करने से रोकता है? स्टेटस बार पर एक लाल चेतावनी आइकन होना चाहिए .. "... ने इस साइट को कुकी को स्टोर करने से रोका"

+0

मैंने पहले ही आईई सेटिंग्स को "कम" करने के लिए बनाया है, विश्वसनीय सेटिंग्स में डोमेन को जोड़ा है, उन्नत सेटिंग्स में भी मैं अन-ट्रस्ट सामग्री दिखाने के लिए विकल्प भी जोड़ता हूं ... लेकिन मैं करता हूं, मुझे वही मिलता है (मैं पुनरारंभ करता हूं आईई): ओ ( – balexandre