2012-09-14 4 views
7

तो फिर वहाँ कई वर्ग कि Umbraco दस्तावेजों का प्रतिनिधित्व करता है?Umbraco:</p> <pre><code>1) umbraco.cms.businesslogic.Content 2) umbraco.cms.businesslogic.web.Document 3) umbraco.MacroEngines.DynamicNode 4) umbraco.presentation.nodeFactory.Node </code></pre> <p>वहाँ रहे हैं किसी भी अन्य: नोड, DynamicNode के बीच मतभेद, सामग्री

क्या आप समझा सकते हैं कि वे क्या करते हैं, और उनका उपयोग कब करते हैं?

umbraco.MacroEngines.DynamicNode और umbraco.presentation.nodeFactory.Node एक ही लग रहे हैं। शायद नोड कक्षा का उपयोग करना बेहतर है क्योंकि यह तेज़ है?

umbraco.cms.businesslogic.Content और umbraco.cms.businesslogic.web.DocumentcmsContent और cmsDocument डीबी तालिकाओं का प्रतिनिधित्व कर रहे हैं:

मैं एक सिद्धांत है।

umbraco.presentation.nodeFactory.Node और umbraco.MacroEngines.DynamicNode वेबसाइट में उपयोग करने के लिए, एक्सएमएल फ़ाइल में नोड कैश्ड प्रतिनिधित्व करता है। पहला बस नोड है, दूसरा जोड़ा गतिशील गुणों वाला एक ही नोड है, जो नोड टाइप में परिभाषित संपत्ति के लिए है। तो, मुझे लगता है कि नोड तेजी से DynamicNode

है किसी को है कि इस बात की पुष्टि कर सकते हैं वहाँ?

उत्तर

9

का उपयोग कर निजी इस्तेमाल के आधार पर मैक्रो के लिए Umbraco के बाद के संस्करणों में लागू किया है:

  1. सामग्री: दस्तावेज़ का उपयोग न करें, बल्कि दस्तावेज़ | मीडिया | सदस्य एपीआई (जो इस वर्ग से प्राप्त होता है) का उपयोग करें।
  2. दस्तावेज़: इसे बनाने के लिए इसका उपयोग करें | अद्यतन | हटाएं ऑपरेशन। यह अपने सभी ऑपरेशन सीधे डीबी को करता है, इसलिए इसे केवल पढ़ने के लिए उपयोग किया जाना चाहिए जब आपको सीधे डीबी से मूल्यों की आवश्यकता होती है।
  3. नोड: इसे सबसे अधिक उपयोग करें: पढ़ना | उपयोगकर्ता नियंत्रण, कोड पुस्तकालय, xslt एक्सटेंशन, आदि के माध्यम से डेटा प्रदर्शित करना
  4. डायनामिक नोड: रेजर मैक्रोज़। मैंने अभी तक अधिक जानकारी प्रदान करने के लिए पर्याप्त उपयोग नहीं किया है।

अधिक जानकारी के लिए नीचे देखें, लेकिन नहीं, नोड और डायनामिक नोड समान नहीं हैं (डायनामिक नोड जांच का उपयोग करता है और यदि आवश्यक हो तो डीबी से पढ़ने के लिए भी वापस आ जाएगा)।

umbraco.cms.businesslogic.Content: सामग्री CMSNode और वर्ग है जो सामान्य डेटा का उपयोग करेगा के बीच एक मध्यवर्ती परत है। सामग्री एक डेटास्ट्रक्चर है जो इसके संबंधित सामग्री प्रकार में परिभाषित सामान्य डेटा रखती है। सामग्री किसी तालिका में डेटाबेस तालिका में एक पंक्ति से तुलना की जा सकती है, इसकी सामग्री प्रकार में कॉलम की परिभाषा होती है और सामग्री में डेटा होता है। ध्यान दें कि umbraco में सामग्री डेटा टैब्यूलर लेकिन एक परीक्षण में है।

मुझे इस वर्ग का सीधे उपयोग करने की आवश्यकता नहीं है, क्योंकि इसके सभी संचालन इसी उप-वर्ग द्वारा प्रबंधित किए जाते हैं, उदाहरण: दस्तावेज़, मीडिया, सदस्य। बारी-बारी इस वर्ग CMSNode से विरासत जो Umbraco अंदर सामग्री डेटा के हर टुकड़े के लिए आधार वर्ग है

umbraco.cms.businesslogic.web.Document: दस्तावेज़ एक वेबपेज का प्रतिनिधित्व करता है, प्रकाशित दस्तावेज़ क्रम के संपर्क में हैं/एक कैश किए गए एक्सएमएल दस्तावेज़ में सार्वजनिक वेबसाइट।

अपने "सामग्री अनुभाग" से नोड्स का संदर्भ देते समय इस कक्षा का उपयोग करें। यह सीआरयूडी संचालन को संभालता है। इस वर्ग के माध्यम से आप प्रत्येक संपत्ति के डेटाटाइप का संदर्भ भी प्राप्त करते हैं यदि आप उन नियंत्रणों को एएसपीएक्स पृष्ठ में प्रस्तुत करना चाहते हैं।

umbraco.NodeFactory.Node: यह inode इंटरफ़ेस जो केवल पढ़ने के तरीकों को उजागर करता है लागू करता है। इसकी सारी जानकारी umbraco कैश्ड xml से आता है। आपको प्रत्येक संपत्ति के नियंत्रण तक पहुंच नहीं मिलेगी, बल्कि डेटाटाइप के आधार पर प्रत्येक प्रारूपित मानों के मूल्य प्राप्त नहीं होंगे।

आप केवल इस कक्षा का उपयोग संचालन पढ़ने के लिए कर सकते हैं। यह डेटा दिखाने के लिए वास्तव में तेज़ बनाता है क्योंकि सबकुछ कैश से आता है (केवल प्रकाशित नोड्स)।

umbraco.MacroEngines.DynamicNode: यह उस्तरा मैक्रो के साथ काम करने के लिए लागू किया गया था। यह हुड फैक्ट्री का उपयोग हुड के नीचे करता है, जिसका अर्थ यह है कि यह कैश्ड एक्सएमएल तक भी पहुंचता है। यद्यपि यदि आप संबंधित डायनेमिक मीडिया का उपयोग सावधानी बरतें क्योंकि यह उपयोग करता है: 1: परीक्षा इंडेक्स जो किसी भी एचटीएमएल टैग को स्ट्रिप्स करता है, 2: यह umbraco_v4.11.5 में अपने डिफ़ॉल्ट मीडिया प्रकार (डीबी अगर रनटाइम कैश में नहीं है) पर वापस आ जाता है।

उपरोक्त के समान।

+0

परीक्षा का उपयोग कर डायनामिक नोड कथन - लेकिन फिर डीबी से भी पढ़ना ("अगर यह रनटाइम कैश में नहीं है") संघर्ष में प्रतीत होता है। रनटाइम कैश द्वारा आपका क्या मतलब है? मैं आम तौर पर मानता हूं कि HTTPRuntime कि Umbraco इन-मेमोरी कैश के लिए उपयोग करता है: लेकिन जांच कैश नहीं है। – jeffreypriebe

3

मुझे दस्तावेज़ और नोड के बीच का अंतर पता है। नोड क्लास umbraco कैश में संग्रहीत डेटा का उपयोग करता है, दस्तावेज़ वर्ग सीधे डेटाबेस से डेटा प्राप्त करेगा। नोड दस्तावेज़ से तेज़ है। नोड केवल सहेजी गई और प्रकाशित सामग्री को लौटाता है।

95% समय आपको नोड का उपयोग करना चाहिए।

0

सामग्री आपको डीबी (गैर प्रकाशित सामग्री सहित) से किसी भी सामग्री (पृष्ठ/मीडिया/..) को पुनर्प्राप्त/संपादित करने की अनुमति देती है, दस्तावेज़ आपको डीबी से केवल पृष्ठ सामग्री को पुनर्प्राप्त/संपादित करने की अनुमति देता है (गैर प्रकाशित सामग्री सहित) , नोड (प्रकाशित केवल) एक्सएमएल कैश और गतिशील नोड से पेज की सामग्री के लिए तेजी से केवल पढ़ने के लिए उपयोग करने के लिए प्रयोग किया जाता है नोड के लिए तुलनीय लेकिन उस्तरा

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