2009-01-24 5 views
5

मैं लैंप दुनिया से आ रहा हूं, जहां "कैश सबकुछ" मानसिकता प्रचलित है। सब कुछ memcache में रखा जाता है।वेग के साथ कैशिंग के लिए एएसपी.नेट एमवीसी साइट कैसे डिज़ाइन करें?

मैं एएसपी.नेट एमवीसी और एसक्यूएल सर्वर के साथ एक नई परियोजना शुरू कर रहा हूं। मैं शायद LINQ से SQL या शायद इकाई फ्रेमवर्क के साथ जाऊंगा। क्या ऐसे डिज़ाइन फैसले हैं जिन्हें मुझे कैशिंग के लिए अभी बनाने की ज़रूरत है, या यदि आवश्यक हो तो वेग का उपयोग करना शुरू करना आसान है? बस स्पष्ट होने के लिए, मैं माइक्रोसॉफ्ट के वेग कैश के बारे में बात कर रहा हूं, न कि अपाचे वेग टेम्पलेट इंजन।

मुझे आशा है कि मैं इस पल के लिए कैशिंग को अनदेखा कर सकता हूं, क्योंकि सी #, एएसपी.नेट एमवीसी, LINQ, आईआईएस, एसक्यूएल सर्वर सीखना और वीएस में कुशल बनना मेरी प्लेट को पूरा कर रहा है। बहुत धन्यवाद:

उत्तर

1

@dswatic करने के लिए पर एक बड़ा लेख है। ऐसा लगता है कि मैं कम से कम दर्द के साथ बाद में कैशिंग जोड़ सकता हूं। यहां उस साइट से एक महत्वपूर्ण चेतावनी दी गई है:

"यदि आप अपने LINQ को SQL कक्षाओं में जेनरेट करने के लिए ऑब्जेक्ट रिलेशनल डिज़ाइनर का उपयोग करते हैं तो आपके LINQ से SQL कक्षाएं क्रमबद्ध नहीं होंगी। इस समस्या को हल करने के लिए, मैंने अपना LINQ बनाया हाथ से एसक्यूएल कक्षाएं। "

केवल धारावाहिक वस्तुओं को वेग के साथ कैश किया जा सकता है।

फिर से धन्यवाद।

+0

की CTP1 से संबंधित है यहाँ एक महान पुस्तकालय किसी LINQ क्रमानुसार करने लिखा है http://69.10.233.10/KB/linq/linqsqlserialization.aspx हालांकि निष्पक्ष चेतावनी अगर आप Let या आलसी का उपयोग लिंक की सुविधाओं को लोड करना इसे क्रमबद्ध नहीं किया जा सकता है। – dswatik

3

dswatik ने इसका उपयोग करने के तरीके पर एक शानदार लिंक प्रदान किया।

मैं इस रिपोर्ट को बोझ से बाहर करने और डीआरवाई सिद्धांत के भीतर रहने के लिए अपनी रिपोजिटरी/सेवा परत में कहीं भी इस कार्यक्षमता को जोड़ने का सुझाव दूंगा।

1

चयनित उत्तर Velocity CTP1 के लिए है। नवीनतम Velocity Programming Guide के लिए एमएसडीएन लिंक यहां दिया गया है।

डिज़ाइन फैसलों के बारे में आपके अन्य प्रश्न के अनुसार, चाड मोरन के रिपोजिटरी परत पर ऑनस डालने का सुझाव बहुत अच्छा है। फिर, मैं एक तकनीक यहाँ वर्णित के समान का उपयोग कर LINQ कैशिंग के लिए समर्थन जोड़ने पर दिखेगा: http://petemontgomery.wordpress.com/2008/08/07/caching-the-results-of-linq-queries/

आप स्पष्ट रूप से एक कार्यान्वयन ASP.NET कैश के बजाय वेग का उपयोग करता है लिखने के लिए होता है ... लेकिन वास्तव में , जब तक आपके पास यह साबित करने के आंकड़े न हों कि आपको वेग की तरह कुछ चाहिए, तो आप संभवतः नियमित कैश के साथ चिपक सकते हैं जब तक कि यह कोई समस्या न हो जाए। यदि आप कुछ वार्ता सुनते हैं जो जोएल स्पॉल्स्की ने स्टैक ओवरफ्लो के बारे में दिया है, तो आप पाएंगे कि दो बक्से (आईआईएस के साथ एक और दूसरा एसक्यूएल सर्वर के साथ) बहुत उच्च मात्रा को संभाल सकता है।

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