2010-01-28 13 views
31

में शून्य है, मैं नीचे दिखाए गए Asp.Net ashx हैंडलर में सत्र परिवर्तनीय तक पहुंचने का प्रयास कर रहा हूं।Asp.Net सत्र एएसएक्स फ़ाइल

public void ProcessRequest (HttpContext context) { 
     context.Session["VariableName"] = Id; 
    } 

लेकिन context.Session हमेशा अशक्त उपरोक्त विधि के अंदर है। मैं एएसएक्स फ़ाइल में सत्र ऑब्जेक्ट्स का उपयोग कैसे करूं?

उत्तर

94

आपको IRequiresSessionState या IReadOnlySessionState "पूर्व में" लागू करना होगा, पूर्व में सत्र तक पूर्ण पहुंच प्रदान करना होगा, और बाद में केवल पढ़ने के लिए पहुंच प्रदान करना होगा।

मैं यहां "कार्यान्वित" उद्धृत कर रहा हूं क्योंकि इन दोनों को तथाकथित "marker interfaces" कहा जाता है, जिसका अर्थ है कि उनके पास कोई सदस्य नहीं है।

+2

धन्यवाद! इसकी भी आवश्यकता है – Michel

+3

एक उदार अच्छा सर है। मेरा एकमात्र अफसोस यह है कि मैं केवल एक ही दे सकता हूं। – CountMurphy

+0

बढ़िया! और "मार्कर इंटरफेस" के बारे में, क्या यह बेहतर होगा अगर उन्होंने इसे एनोटेशन के रूप में बनाया हो? – everton

2

वीबी में, लागू इंटरफेस एंटोन (IRequiresSessionState या IReadOnlySessionState) इस तरह से उल्लेख किया:

Public Class MyAshxFile 

    Implements System.Web.IHttpHandler 
    Implements System.Web.SessionState.IRequiresSessionState ''need this for session variables 
    Implements System.Web.SessionState.IReadOnlySessionState ''need this for session variables 
संबंधित मुद्दे