/ / सत्र को डायनामिक रूप से C # ASP.NET - c #, asp.net, सत्र में बदलना

सी # एएसपी.नेट - सी #, एएसपीनेट, सत्र में गतिशील रूप से सत्र आईडी बदल रहा है

मैं उत्सुक हूँ अगर ASP.NET के लिए C # में एक SessionStateStoreProvider (या कुछ अन्य अनुकूलन योग्य मॉड्यूल) के संदर्भ से सत्र आईडी को गतिशील रूप से बदलने का एक तरीका है।

मैं एक रिवाज लागू कर रहा हूंSessionStateStoreProvider, और मैं स्टोर प्रदाता को यह बताने के लिए सत्र आईडी को बढ़ाने के बारे में सोच रहा था कि सत्र के लिए कहां जाना है। मैंने एक कस्टम SessionIDManager को लागू किया है, जो मुझे आवश्यक टैग के साथ नए बनाए गए सत्र आईडी को बढ़ाने की अनुमति देता है। समस्या यह है कि सत्र के जीवन के दौरान उस टैग का वांछित मूल्य बदल सकता है। उदाहरण के लिए, सत्र एक से पढ़ा जा सकता है। स्थान, लेकिन अलग स्थान पर लिखने की आवश्यकता हो सकती है। इस उदाहरण में आईडी को मूल रूप से स्थान A के लिए टैग किया गया होगा, लेकिन स्टोर लिखने पर वह स्थान B पर लिखना चाहेगा। टैग को स्थान B के प्रतिबिंबित करने के लिए अद्यतन किया जाना चाहिए। अगला सत्र पढ़ा

तो, SessionStateProviderBase ओवरराइड के संदर्भ से ...

public override void SetAndReleaseItemExclusive(HttpContext context,
string id, SessionStateStoreData item, object lockId, bool newItem)

... क्या सत्र आईडी बदलना संभव है? मुझे पता है कि HttpContext.Session.SessionID संपत्ति व्यवस्थित नहीं है। क्या इस तरह से अपडेट के लिए कोई अन्य तरीका है? या इस तरह के कॉल के दौरान राज्य को ले जाने के लिए अधिक उपयुक्त है?

मैं सामान्य रूप से C # और वेब विकास के लिए नया हूं, इसलिए किसी भी सुझाव की सराहना की जाएगी।

उत्तर:

उत्तर № 1 के लिए 1

इस सवाल को पूछने के बाद, मैं यथोचित रूप से निश्चित हो गया कि सत्र आईडी को गतिशील रूप से बदलना संभव नहीं है।

स्थान की जानकारी के साथ सत्र आईडी को टैग करने के बजाय, मैंने सत्रस्टेस्टोरस्टोरपॉइडर इंटरफेस में पारित HttpContext का उपयोग करके एक कुकी सेट करना समाप्त कर दिया:

context.Response.SetCookie(new HttpCookie(...));