2011-06-17 8 views
7

स्केल/लिफ्ट एप्लिकेशन के भीतर सत्र वार्स को व्यवस्थित करने के तरीके पर कुछ विचार प्राप्त करना चाहते हैं।स्कैला/लिफ्ट में सत्र युद्ध आयोजित करना

मैं ऑनलाइन स्केला सामग्री की एक संख्या से अधिक पढ़ा है और सभी उदाहरण है कि सत्र परिचय में आम तौर पर निम्नलिखित प्रतिमान पाया है वार्स:

  1. एक वस्तु है कि SessionVar वर्ग
  2. उस वस्तु डाल फैली घोषित एक फ़ाइल है कि एक टुकड़ा (या किसी भी फाइल)
  3. पहुँच कि codebase में कहीं से भी आपत्ति हो उसमें
(लिफ्ट उपयोगकर्ता की http सत्र के जीवनकाल के आधार पर सत्र वर के जीवनचक्र का ख्याल रखना होगा) 210

शायद मुझे कुछ समझ में नहीं आ रहा है, लेकिन मुझे चिंता है कि इस दृष्टिकोण से सभी जगहों पर विभिन्न वस्तुओं में इन वस्तुओं का पूरा समूह बन जाएगा। यदि यह एक छोटा ऐप है, तो यह इतना बड़ा सौदा नहीं है, लेकिन जब कोई परियोजना बड़ी हो जाती है तो इससे अराजकता हो सकती है।

उन लोगों के लिए जिन्होंने बड़े पैमाने पर परियोजनाओं पर काम किया है, क्या आम तौर पर बेहतर दृष्टिकोण है? (भले ही इन सभी ऑब्जेक्ट्स को एक सामान्य फ़ाइल में डालने जैसा कुछ आसान हो?)

धन्यवाद।

+0

... और ऐसे कारण हैं जिनसे सभी को लिफ्टवेब पसंद नहीं है: पी –

उत्तर

4

यह थोड़ा सा व्यक्तिपरक है, लेकिन मैं इसे आज़मा दूंगा। मुझे लगता है कि यह आपके प्रोजेक्ट में सत्र var के दायरे पर निर्भर करता है।

  • यदि आपको केवल एक स्निपेट में सत्र var की आवश्यकता है, तो आपको इसे उस वर्ग का निजी सदस्य बनाना चाहिए।
  • यदि आपको कई स्निपेट्स में इसकी आवश्यकता है, तो उन स्निपेट को पैकेज में रखें और ऑब्जेक्ट को उस पैकेज में निजी बनाएं। यदि आपके पास उनमें से बहुत सारे हैं, तो आप उन्हें पकड़ने के लिए एक अतिरिक्त फ़ाइल बना सकते हैं।
  • यदि आपको वैश्विक स्तर पर इसकी आवश्यकता है, तो इसे एक केंद्रीय स्थान में रखें, शायद पैकेज ऑब्जेक्ट के अंदर।
  • यदि संभव हो, तो सत्रवर्स का पूरी तरह से उपयोग करने से बचें।
+0

प्रतिक्रिया के लिए धन्यवाद। –

4

सत्रवर्स का उपयोग आपके आवेदन में कम से कम किया जाना चाहिए। वे सर्वलेट सत्र चर के समान हैं, सिवाय इसके कि वे सुरक्षित हैं।

आपको कितने सत्र चर की आवश्यकता है? व्यक्तिगत रूप से, मेरे पास वर्तमान उपयोगकर्ता की प्राथमिक कुंजी और शायद एक या दो से अधिक सत्र चर है। आवेदन की शेष स्थिति को बंद करने में संग्रहित किया जाना चाहिए (क्योंकि गुंजाइश के करीब GUID के साथ जुड़े कार्यों)।

+1

ठीक है। मैं समझता हूं कि फ़ंक्शंस फ़ंक्शन की परिभाषा के बाहर घोषित वर्रों को बंद कर सकता है, लेकिन मुझे स्पष्ट नहीं है कि कोई एक GUID के साथ फ़ंक्शन को कैसे जोड़ सकता है। क्या आप मुझे एक ठोस उदाहरण के बारे में बता सकते हैं कि इसे कैसे प्राप्त किया जाए? शायद मुझे कुछ याद आ रही है। एक बार फिर धन्यवाद! –

+0

मैं थोड़ा और विस्तार की सराहना करता हूं (पाठ के लिए यूआरएल या एक कार्य स्रोत फ़ाइल पर्याप्त होगा)। मेरे पास समान संदेह हैं और एक अच्छा संसाधन नहीं मिल सकता है (असेंबला के भीतर, लिफ्ट बुक या यहां तक ​​कि मेलिंग सूची की खोज) जो मुझे थोड़ा सा ज्ञान दे सकता है। अग्रिम में धन्यवाद। –

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