Verify
पर कॉल करने के लिए उपयोगी है या नहीं, बहस के लिए खुला है या नहीं। 2011 में वापस, Mark Seemannsuch a method is close to worthless सोचते थे। मेरी राय यह है कि Verify
पर कॉल करने में वास्तविक मूल्य है, लेकिन मैं मार्क की भावना को समझता हूं और सहमत हूं कि Verify
स्वयं को कॉल करना आम तौर पर पर्याप्त नहीं है। यही कारण है कि आपके DI कॉन्फ़िगरेशन सत्यापित करने के बारे में सरल इंजेक्टर विकी में Verifying the container’s configuration पर स्पष्ट मार्गदर्शन है।
सरल इंजेक्टर के साथ हालांकि, Verify
परीक्षण से कहीं अधिक करता है कि यह आपके ऑब्जेक्ट ग्राफ़ बना सकता है या नहीं। Verify
पर एक कॉल सरल इंजेक्टर के Diagnostic Services को किक-ऑफ करेगा जो बहुत आम खोजता है, लेकिन कभी-कभी कॉन्फ़िगरेशन त्रुटियों को स्पॉट करने के लिए बहुत कठिन होता है (एक सुविधा जो मार्क ने उस लेख को लिखा था) के दौरान उपलब्ध नहीं था।
आम तौर पर मेरी सलाह है कि आप अपने उत्पादन कोड में container.Verify
पर कॉल करें, यथासंभव लंबे समय तक। अपने स्टेजिंग पर्यावरण और उत्पादन में, डिबग और रिलीज बिल्ड दोनों में स्टार्ट-अप पर हमेशा इसे कॉल करें।
चूंकि एप्लिकेशन बड़ा हो जाता है, तो स्टार्ट-अप के दौरान container.Verify
पर कॉल करने में अधिक समय लगता है। कुछ प्रकार के अनुप्रयोग दूसरों के मुकाबले ज्यादा संवेदनशील होते हैं। सर्वर अनुप्रयोगों के लिए आमतौर पर एक लंबा स्टार्ट-अप समय होना ठीक है, जबकि डेस्कटॉप और मोबाइल फोन अनुप्रयोगों को और अधिक तेज़ी से शुरू करना चाहिए।
एक बार जब आप स्थिति यह है कि
Verify
के लिए एक कॉल बहुत अधिक समय -लेकिन केवल तात्कालिक आप
Verify
का कॉल निकालना चाहिए लेता में मिलता है, लेकिन कम से कम अभी भी एक इकाई/एकीकरण परीक्षण है कि
container.Verify
कॉल
। मुझे संकलक निर्देशों में Verify
को लपेटने में कोई समस्या नहीं दिख रही है (जैसा कि आपने अपने प्रश्न में किया था), लेकिन फिर से ध्यान दें कि आईएमओ आपको जितनी देर तक संभव हो सके अपने स्टार्टअप पथ में Verify
पर कॉल को हटाने को स्थगित कर देना चाहिए।
प्रतिक्रिया के लिए धन्यवाद, स्टीवन। अगर मैं उपर्युक्त करना चाहता था, तो मैंने इसे एकीकरण/इकाई परीक्षणों के लिए चारों ओर रखने की योजना बनाई थी, ताकि इसे किसी रूप में पूर्व-तैनाती चलाने की गारंटी दी जाएगी। – Tris