2010-02-12 23 views
17

हम सत्र स्थिति को सक्षम/अक्षम करें हम एक एएसपी.नेट एमवीसी अनुप्रयोग बना रहे हैं जो हार्डवेयर लोड बैलेंसर के पीछे तैनात किया जाएगा जो अन्य चीजों के साथ, कैशिंग का समर्थन करता है।प्रति नियंत्रक/एक्शन विधि

हमारा प्रस्ताव मैन्युअल रूप से परिभाषित करना है कि लोड बैलेंसर द्वारा कौन से यूआरएल पैटर्न कैश किए जाने चाहिए। यह हमारे लिए काफी आसान प्रक्रिया होगी क्योंकि हमारे पास 'कैटलॉग' पृष्ठ हैं जो अपेक्षाकृत स्थिर हैं, फिर 'ऑर्डर' पृष्ठ जो नहीं हैं।

कैश किए गए पृष्ठों पर सत्र स्थिति का उपयोग करने से बचना चाहिए, क्योंकि संपूर्ण प्रतिक्रिया लोड बैलेंसर द्वारा कैश की जाती है - इसमें कोई भी कुकीज भेजी जाती है।

आदर्श रूप से एक विशेषता होगी जिसे नियंत्रकों या क्रिया विधियों पर लागू किया जा सकता है जो सत्र स्थिति के चुनिंदा उपयोग की अनुमति देता है, लेकिन ऐसा कोई प्रतीत नहीं होता है। मुझे एहसास है कि इस तरह के दृष्टिकोण के परिणामस्वरूप खोए सत्र होंगे यदि उपयोग 'सत्र क्षेत्र' छोड़ देता है - यह ठीक है।

पूरे एएसपी.नेट एमवीसी HTTP नियंत्रक को फिर से कार्यान्वित करने के अलावा ... कोई सुझाव?

अग्रिम धन्यवाद।

+0

http://stackoverflow.com/questions/1464203/disable-session-state-per-request-in-asp-net-mvc –

उत्तर

48

अब यह फ्यूचर्स से एमवीसी 3 में स्थानांतरित हो गया है। वहाँ एक ControllerSessionState विशेषता (जाहिरा तौर पर MVC3 के अंतिम रिलीज के लिए SessionState नाम दिया जाएगा) है, जो एक नियंत्रक के लिए लागू किया जा सकता है, कुछ इस तरह है:

[SessionState(SessionStateBehavior.Disabled)] 
public class MyController : Controller 
{ 
... 

(लेकिन आर सी संस्करण में, आप का उपयोग करना चाहिए ControllerSessionState