में लेन-देन प्रबंधन मैं एक HttpModule में अपने NHibernate सत्र और लेनदेन के प्रबंधन के लोगों के लिए वेब पर कई कार्यान्वयन देखा है।NHibernate सत्र और HttpModule
HttpModule:
- अनुरोध
- एक सौदे
- में पूरे अनुरोध लपेटता के शुरू में एक सत्र बनाता अनुरोध के अंत में लेन-देन करता है
लोग इस रणनीति का उपयोग करते हैं कि वे किस तरह इस परिदृश्य पर संभाल रहे हैं:
- अनुरोध आता है
- डेटाबेस से वस्तु पुनः प्राप्त करने में
- अद्यतन वस्तु
- वस्तु विफल रहता सत्यापन वस्तु अभी भी कायम हैं क्योंकि लेनदेन HttpModule में प्रतिबद्ध है करने के लिए
- बदल जाता है।
ऐसा लगता है कि उपरोक्त परिदृश्य में लेनदेन को रोलबैक करने का कोई अच्छा तरीका नहीं है। एकमात्र योजना जिसके साथ मैं आ सकता हूं:
- मेरी सत्यापन को इस तरह से लिखें क्योंकि यह मेरी डोमेन ऑब्जेक्ट को अपडेट करने से पहले सफल होने की गारंटी है (मेरे डोमेन मॉडल से मेरा सत्यापन लेता है)।
- मेरे लेनदेन मेरी व्यापार तर्क के करीब का प्रबंधन और दूर एक HttpModule में पारदर्शी ढंग से यह कर के विचार फेंक देते हैं। (मैंने देखा है काफी कुछ पदों यह सलाह देते हैं)
के रूप में देखकर इतने सारे लोगों HttpModule दृष्टिकोण मैं आशा करती हूं वहाँ इस परिदृश्य है कि मैं के बारे में सोचा नहीं किया है के प्रबंधन की एक तीसरा रास्ता है ज़रिये जुड़े हुए हैं ?
की त्रुटि घटना मैं भी हाल ही में एक ही सवाल की बात आती है उपयोग कर सकते हैं। मैं कुछ परियोजनाओं पर एनएचबर्ननेट से शुरू करता हूं। मेरा अंतिम दृष्टिकोण आईओसी के लिए ऑटोफैक का उपयोग कर रहा है और सत्रों के लिए HttpRequestScope का उपयोग कर रहा है। और व्यापार भंडार स्तर पर सभी लेनदेन संचालन। शायद यह सबसे अच्छा नहीं है, लेकिन यह अभी के लिए ठीक काम कर रहा है .. – Elph
बजाय इकाई पर लागू किए परिवर्तनों को सत्यापित करने के परिवर्तन सत्यापित किया जा रहा बहुत आसान है। – Paco
क्या आपको इसका उत्तर मिला? – Rippo