2010-01-09 14 views
5

एनएचबेरनेट इंटरसेप्टर क्या है, और यह एप्लिकेशन में किस उद्देश्य से कार्य करता है?एनएचबेर्नेट इंटरसेप्टर - यह

इसके अलावा, in this article, मैंने सीखा कि एनएचबर्ननेट का उपयोग डेस्कटॉप एप्लिकेशन को स्टार्टअप पर धीमा कर देता है, इसलिए इससे बचने के लिए, मुझे कॉन्फ़िगरेशन को फ़ाइल में सहेजने की आवश्यकता है, और बाद में इसे सहेजी गई फ़ाइल से लोड करना होगा। मैं उसे कैसे कर सकता हूँ? मुझे उस ट्यूटोरियल में कोई उदाहरण नहीं मिला।

+0

वहाँ दो सवाल यहाँ हैं। प्रत्येक मुद्दे के लिए कृपया व्यक्तिगत प्रश्न बनाएं। –

उत्तर

8

एक इंटरसेप्टर आप अतिरिक्त कार्यक्षमता निष्पादित करने के लिए अनुमति देता है एक इकाई लिया गया है जब/नष्ट कर दिया/अद्यतन/डीबी में डाला ...

Interceptors article

Hibernate doc

other useful info

बनाने के बारे में आपका ऐप धीमा: मैं सुझाव दूंगा कि आप केवल स्टार्ट-अप समय को अनुकूलित करने पर एक नज़र डालें, जब यह वास्तव में एक समस्या बन जाए।

जब आप सत्र-कारखाना बनाते हैं, तो NHibernate सभी मैपिंग का विश्लेषण करेगा, और यह एक ऑपरेशन है जो थोड़ा महंगा है। लेकिन, जब तक आपके पास सीमित संख्या में इकाइयां हों, तब तक प्रदर्शन हिट इतना बड़ा नहीं है।
धीमी स्टार्टअप समय की वजह से मुझे कभी भी NHibernate के प्रारंभिकरण को अनुकूलित करना नहीं था।

मैं सुझाव दूंगा कि आप पहले अपने आवेदन के मूल पर ध्यान केंद्रित करें- जिस समस्या को आप हल करने का प्रयास कर रहे हैं- और बाद में यह देखें कि आप स्टार्टअप प्रदर्शन को कैसे सुधार सकते हैं। (यदि आपको कभी भी ऐसा करना होगा)।

+3

एफवाईआई, हाइबरनेट दस्तावेज़ लिंक अब काम नहीं करता है। –

6

Interceptors, जैसे नाम स्वयं कहता है, आपको एनएचबेर्नेट ऑपरेशंस को रोकने (सहेजने/अपडेट/हटाने/लोड/फ्लश/आदि) को रोकने की अनुमति देता है।

यह प्राप्त करने के लिए एक नया, अधिक लचीला एपीआई event system है।

कॉन्फ़िगरेशन को क्रमबद्ध करने के बारे में, कोड वहां है, यह कक्षा Effectus.Infrastructure.BootStrapper है जिसे एप्लिकेशन स्टार्टअप पर कॉल किया जाता है।

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