जो मैं उपयोग कर रहा हूं, उसके ऊपर @jrojo और @Maxam से उत्तरों को सारांशित करना।
मैं सत्र स्टोर के रूप में AWS DynamoDB का उपयोग कर रहा हूं (प्रश्न के दायरे से बाहर, लेकिन नमूना देता है)।
NUGET के माध्यम से
जोड़ें पैकेज: स्थापित-पैकेज AWS.SessionProvider
अद्यतन वेब।config appSettings में कुंजी है:
<add key="AWSAccessKey" value="XXX" />
<add key="AWSSecretKey" value="YYY" />
और सत्र प्रदाता system.web रहे हैं:
<sessionState timeout="20"
mode="Custom"
customProvider="DynamoDBSessionStoreProvider">
<providers>
<add name="DynamoDBSessionStoreProvider"
type="Amazon.SessionProvider.DynamoDBSessionStateStore, AWS.SessionProvider"
AWSProfilesLocation=".aws/credentials"
Table="ASP.NET_SessionState"
Region="us-east-1"
/>
</providers>
</sessionState>
सत्र प्रारंभ होते ही Global.asax में सत्र के लिए कुछ भी जोड़ें:
void Session_Start(object sender, EventArgs e) {
HttpContext.Current.Session.Add("somethingToForceSessionIdToStick", string.Empty);
}
द्वारा सत्यापित करें इसे किसी भी पेज के रेज़र में जोड़ना। कि पृष्ठ को ताज़ा करें, तो एक Ignito विंडो खोलें और किसी दूसरे सत्र देखें:
@HttpContext.Current.Session.SessionID
BobsYourUncle
यह सत्र खो देता है भले ही आप इसमें कुछ डाल दें। Web.config के अंदर मशीन कुंजी एकमात्र चीज है जो –
को हल करती है केवल तभी जब कोई वेब फार्म शामिल होता है। और यदि आप उत्तर में से किसी एक में ओपी की टिप्पणी पढ़ते हैं, तो आप पाएंगे कि सत्र चर में कोई आइटम जोड़ने से समस्या ठीक हो गई है। – Maxam
मेरे होस्टिंग प्रदाता के पास वेब फार्म नहीं है, और सत्र में सामान जोड़ने से इसे ठीक नहीं किया जाता है। मैंने अभी भी कुछ मिनटों के बाद इसे खोला - भले ही मेरे पास सत्र में बहुत सारी चीज़ें हों (लॉग इन यूज़र, उसकी दुकान टोकरी, ...) मैंने 2 होस्टिंग प्रदाताओं के साथ प्रयास किया –