2011-03-04 16 views
12

क्या इंप्रोक या एसक्यूएल सर्वर का उपयोग करने के बजाय पूरी तरह से अनुकूलित सत्र स्टेट मोड बनाना संभव है?एएसपी.Net कस्टम सत्र राज्य प्रबंधन

+1

FYI करें: सुंदर ज्यादा सब कुछ आप नेट में कॉन्फ़िगर करना चाहते हैं सकता है "प्रदाता मॉडल" पर आधारित है, जिसका अर्थ है चीजें हैं जो आप के लिए प्रदाताओं लिख सकते हैं के सभी प्रकार के होते हैं कि। केवल नीचे की ओर यह है कि परिणामस्वरूप app.config/web.config कभी-कभी थोड़ा बालों को प्राप्त कर सकता है। ;-) – BrainSlugs83

उत्तर

10

हाँ, बिल्कुल, आप लिख सकते हैं एक custom session state store providerSessionStateStoreProviderBase वर्ग को लागू करने के लिए और फिर से web.config में इस कस्टम कार्यान्वयन के लिए सत्र स्थिति मोड सेट:

<sessionState 
    mode="Custom" 
    customProvider="SomeCustomProviderName"> 
    <providers> 
     <add name="SomeCustomProviderName" 
      type="YourNamespace.CustomSessionStateStore" 
      connectionStringName="SomeConnectionString" /> 
    </providers> 
</sessionState> 
0

मुझे लगता है कि जिस तरह से करने के लिए संभव है आप की तरह है, लेकिन सत्र स्थिति प्रबंधन के लिए सामान्य रूप में डेटाबेस का उपयोग कर (जबकि कुछ कमियां हैं), लाभ के एक बहुत कुछ है एक साधारण से खरोंच कार्यान्वयन के लिए मेरे ब्लॉग की जाँच कर सकते http://techblog.alkumait.net/index.php/2011/12/net-custom-session-implementation/

0

मुझे लगता है कि यह लोगों के लिए एक महत्वपूर्ण कड़ी है जो एसी चाहते हैं डेटाबेस में ustom सत्र कार्यान्वयन: http://msdn.microsoft.com/en-us/library/ms178589.aspx

0

यह मैं यहाँ और अब अक्तूबर के में कर रहा हूँ 2014

मूल रूप से कुछ करने के लिए संबंधित एक पुराने सवाल यह है कि, मूल जवाब अभी भी सही हैं, कि में आप कर सकते हैं अपने स्वयं के कस्टम आउटप्रोक सत्र राज्य प्रबंधन प्रणाली का निर्माण करें, लेकिन माइक्रोसॉफ्ट के साथ अब ओपन सोर्स के साथ बहुत अधिक शामिल है, आप आसानी से MSOpenTech and download the Redis port for Windows के साथ यात्रा कर सकते हैं जो विंडोज़ एज़ूर द्वारा भी समर्थित है।

रेडिस एक आउटप्रोक सत्र राज्य प्रबंधन प्रणाली है जिसे स्टैंड स्टैंड अकेले प्रक्रिया/कंसोल विंडो में या बैकप्लेन सत्र/कुंजी मूल्य स्टोर के लिए विंडोज सेवा के रूप में चलाया जा सकता है।

MSOpenTech:

Redis एक बहुत ही लोकप्रिय खुला स्रोत, नेटवर्क, में स्मृति, कुंजी-मान डेटा स्टोर है। यह उच्च प्रदर्शन, लचीलापन, डेटा संरचनाओं के एक समृद्ध सेट , और एक सरल सीधा API के लिए जाना जाता है। एमएस ओपन टेक में रेडिस समुदाय के साथ काम कर रहा है ताकि उत्पादन तैयार हो सके रेडिस के विंडोज पोर्ट, 64-बिट समर्थन, विंडोज़ एज़ूर, नुगेट समर्थन, और बहुत कुछ के लिए एक इंस्टॉलर।

Redis.io परिचय:

Redis एक खुला स्रोत, बीएसडी लाइसेंस, उन्नत कुंजी-मान कैश और दुकान है। यह अक्सर कुंजी शामिल कर सकते हैं तार, हैश, सूची, सेट, सेट, बिटमैप और hyperloglogs

आप ASP.NET MVC के लिए सत्र स्थिति स्टोर करने के लिए उपयोग कर सकते हैं हल कर के बाद से एक डेटा संरचना सर्वर के रूप में जाना जाता है, वेबएपीआई और सिग्नलआर जो एक वेब फार्म पर्यावरण में सुपर आसान है।

स्थापित-पैकेज Microsoft.Web.RedisSessionStateProvider

यह आसानी से web.config के माध्यम से कॉन्फ़िगर किया गया है और जब मैं आसान कहता हूँ, मैं आसान मतलब है।

<system.web> 
    <sessionState mode="Custom" customProvider="MySessionStateStore"> 
     <providers> 
     <add name="MySessionStateStore" type="Microsoft.Web.Redis.RedisSessionStateProvider" host="127.0.0.1" port="6379" accessKey="" ssl="false" /> 
     </providers> 
    </sessionState> 
</system.web> 

वास्तव में इतना आसान मैंने पहले सोचा कि मुझे यह गलत करना होगा।;) लेकिन रेडिस को सत्र सत्र के लिए यह सब कुछ लेता है।

यह उच्च प्रदर्शन वाला एक बंदरगाह है, जो मूल POSIX संस्करण के बहुत करीब है।

हम इसे एक वित्तीय सेवा ऐप के लिए उपयोग कर रहे हैं जो रीयलटाइम के उच्च भार को दबाता है और सिग्नल के माध्यम से खींचता है, जो उपरोक्त के रूप में हब सत्र स्थिति को बनाए रखने के लिए "समर्थन" करता है।

तो जब आप अभी भी स्वीकार किए गए उत्तरों के रूप में अभी भी कर सकते हैं, साढ़े सालों बाद मैं ओएसएसएस के माध्यम से मुफ्त में उपलब्ध एएसपी.NET सत्र प्रबंधन अनुभव के इन विकल्पों में से कुछ विकल्पों की ओर देखता हूं।

https://github.com/MSOpenTech/redis

http://www.codeproject.com/Articles/636730/Distributed-Caching-using-Redis

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