मैंने हाल ही में निनजेक्ट और निनजेक्ट। वेब.एमवीसी को मौजूदा एएसपी.नेट एमवीसी 4 वेब एप्लिकेशन में जोड़ा। जब साइट ब्राउज़, मैं निम्नलिखित अपवाद प्राप्त करते हैं, मालूम होता है यादृच्छिक पर:यादृच्छिक रूप से होने वाली निंजा अपवाद: "निनजेक घटक आईसीएच लोड करने में त्रुटि"
[InvalidOperationException: लोड करने में त्रुटि Ninject घटक ICache नहीं इस तरह के घटक कर्नेल के घटक कंटेनर में पंजीकृत किया गया है।
सुझाव: 1) यदि आपने कर्नेलबेस के लिए कस्टम सबक्लास बनाया है, तो सुनिश्चित करें कि आपके पास ने एडकंपोनेंट्स() विधि लागू की है। 2) सुनिश्चित करें कि आपने कंटेनर से घटक को RemoveAll() पर कॉल से नहीं हटाया है। 3) सुनिश्चित करें कि आपने गलती से एक कर्नेल से अधिक नहीं बनाया है। ] Ninject.Components.ComponentContainer.Get (प्रकार घटक) C: \ परियोजनाओं \ Ninject \ Ninject \ src \ Ninject \ अवयव \ ComponentContainer.cs: 160 Ninject.Components.ComponentContainer.Get() C: \ प्रोजेक्ट \ Ninject \ ninject \ src \ Ninject \ घटक \ ComponentContainer.cs: 116 Ninject.Web.Common। <> सी में c__DisplayClass2.b__1 (IKernel कर्नेल) c: \ Projects \ Ninject \ Ninject.Web.Common \ src \ Ninject.Web.Common \ OnePerRequestHttpModule.cs: 74 निनजेक्ट। ग्लोबल कर्नेल पंजीकरण। मैपकर्नेल (एक्शन`1 एक्शन) में c: \ परियोजनाओं \ Ninject \ Ninject \ src \ Ninject \ GlobalKernelRegistration.cs: 75 Ninject.Web.Common.OnePerRequestHttpModule.DeactivateInstancesForCurrentHttpRequest() में c: \ परियोजनाओं \ Ninject \ Ninject.Web.Common \ src \ Ninject .Web.Common \ OnePerRequestHttpModule.cs: 74 Ninject.Web.Common.OnePerRequestHttpModule.b__0 (ऑब्जेक्ट ओ, EventArgs ई) सी में: \ Projects \ Ninject \ Ninject.Web.Common \ src \ Ninject.Web.Common \ OnePerRequestHttpModule.cs: 56 System.Web.SyncEventExecutionStep.Syst em.Web.HttpApplication.IExecutionStep.Execute() 136 System.Web.HttpApplication.ExecuteStep (IExecutionStep कदम है, बूलियन & completedSynchronously) +69
एक बार मैं अपवाद ऊपर मिल जाए, तो बस ताज़ा या वापस क्लिक करने लगता है साइट को सामान्य रूप से फिर से काम करना शुरू करने के लिए। ऐसा लगता है कि साइट का कोई भी क्षेत्र किसी अन्य से अधिक नहीं होता है।
यह मुद्दा यहां पूछे गए प्रश्न के समान है: Ninject + "Error loading Ninject component ICache"। हालांकि, उस प्रश्न का मुद्दा विस्तार के साथ एक बग के कारण होता है, जो एक वर्ष से अधिक पुराना है, और यह हल हो रहा है।
यह NinjectWebCommon.cs फ़ाइल में किसी भी संशोधन के बिना होता है, जो भी हो। (कोई मॉड्यूल लोड नहीं हुआ, कोई बाइंडिंग नहीं जोड़ा गया।) इसे रोकने के लिए मेरे लिए एकमात्र तरीका परियोजना से पूरी तरह से NinjectWebCommon.cs को बाहर करना है।
मुझे यकीन नहीं है कि अन्य जानकारी शामिल करने के लिए, जैसा कि मैंने Nuget संकुल को स्थापित करने के अलावा कुछ और किया है। शायद ध्यान देने योग्य यह है कि इस परियोजना में अन्य असेंबली के संदर्भ शामिल हैं जो डीआई के लिए निनजेक्ट का उपयोग करते हैं।
मैंने काफी हद तक देखा है और ऐसा होने के कारण नुकसान में हूं। किसी भी सुझाव के लिए बहुत आभार होगा।
यह तब होता है जब किसी एमवीसी अनुप्रयोग में निनजेक्ट को सक्षम करने के लिए WebActivator और Global.asax.cs- आधारित विधियों का उपयोग किया जाता है। – UnhipGlint