2010-09-13 12 views
8

Global.asax में Application_AuthenticateRequest विधि में सत्र हमेशा null.Ive पहले से ही कोशिश है:ASP.NET सत्र

this.Session,HttpContext.Current.Session 
हमेशा

अशक्त।

protected void Application_AuthenticateRequest() 
    { 
     string userRole = string.Empty; 

     if (Request.IsAuthenticated) 
     { 
      if (this.Session["UserRole"] == null) 
      { 
       InsertSessionValue(); 
      } 
      userRole =Session["UserRole"].ToString(); 
      HttpContext.Current.User = new GenericPrincipal(User.Identity, new string[] {userRole}); 
     } 
    } 

Ive भी कैश इस्तेमाल करने की कोशिश की, लेकिन यह काम नहीं करता क्योंकि मैं प्रत्येक उपयोगकर्ता के लिए अद्वितीय जानकारी की जरूरत है।

ग्लोबल.एक्सएक्स में सत्र का उपयोग कैसे करें? क्या प्रत्येक उपयोगकर्ता के लिए Http अनुप्रयोग आवेदन संपत्ति अद्वितीय है?

+0

आईडी कहता है कि आप उस विधि को सही तरीके से कॉल नहीं कर रहे हैं। एनयूएलएल का कारण तब होता है जब संसाधित होने का कोई अनुरोध नहीं होता है। आप उस विधि को कैसे कॉल कर रहे हैं/उस प्रतिनिधि को असाइन कर रहे हैं? – RPM1984

+0

एप्लिकेशनिंग_AuthenticateRequest को कॉल करना? जब उपयोगकर्ता प्रमाणीकृत करने का प्रयास करता है तो यह स्वचालित रूप से आग लग जाता है; – ozsenegal

उत्तर

13

आप अनुरोध जीवनशैली में इस बिंदु पर सत्र का उपयोग नहीं कर सकते हैं, यह अभी तक उपलब्ध/पॉप्युलेट नहीं है, अगर आप इसका उपयोग करना चाहते हैं तो आपको जीवन चक्र में बाद में किसी ईवेंट में स्थानांतरित करने की आवश्यकता होगी, उदाहरण के लिए PostAcquireRequestState

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