को पोर्टिंग मैं अपने पर्यावरण का वर्णन करेंगे परिवर्तन को तोड़ने: मैं Ninject + Ninject अवरोधन एक्सटेंशन सभी तरीकों, एक विशेष विशेषता के साथ चिह्नित के लिए इंटरसेप्टर का स्वत: पंजीकरण सक्षम करने के लिए काम कर रहा है। यह एक आम एओपी + विशेषताएं + डी कंटेनर परिदृश्य है।Ninject अवरोधन - जब Ninject 3.0
मेरी समस्या यह है: निनजेक्ट और निनजेक्ट इंटरसेप्शन एक्सटेंशन के नवीनतम संस्करण को पोर्ट करते समय - 3.0 जब मैं अपने इंटरसेप्टर चलाने के लिए जाता हूं तो मुझे अपवाद प्राप्त करना शुरू होता है। मेरा इंटरसेप्टर रजिस्ट्रेशनस्ट्रेटी जिम्मेदार प्रकार को हल करते समय और इंटरसेप्टर पंजीकृत करते समय ठीक काम करता है। लेकिन निम्न अपवाद में रोका विधि परिणाम चल:
System.ArgumentException : Interface not found.
at System.RuntimeTypeHandle.VerifyInterfaceIsImplemented(RuntimeTypeHandle handle, RuntimeTypeHandle interfaceHandle)
at System.RuntimeType.GetInterfaceMap(Type ifaceType)
at Ninject.Extensions.Interception.Advice.Advice.MatchesMethod(IProxyRequest request)
at System.Linq.Enumerable.WhereListIterator`1.MoveNext()
at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
at System.Linq.Enumerable.ToList(IEnumerable`1 source)
at Ninject.Extensions.Interception.Registry.AdviceRegistry.GetInterceptorsForRequest(IProxyRequest request)
at Ninject.Extensions.Interception.Registry.AdviceRegistry.GetInterceptors(IProxyRequest request)
at Ninject.Extensions.Interception.Wrapper.StandardWrapper.CreateInvocation(IProxyRequest request)
at Ninject.Extensions.Interception.Wrapper.DynamicProxyWrapper.Intercept(IInvocation castleInvocation)
at Castle.DynamicProxy.AbstractInvocation.Proceed()
at Infrastructure.Tests.Persistance.Conversations.NinjectConversationInterceptorBehavior.ShouldCreateInterceptorOnImplicitConversation() in NinjectConversationInterceptorBehavior.cs: line 74
मैं थोड़े परावर्तक का सहारा और के लिए छोड़ दिया हूँ Ninject अवरोधन एक्सटेंशन स्रोतों का उपयोग कर यह मुझे एक बुरी में छोड़ देता है इस समस्या के बारे में कुछ, पर्याप्त नहीं प्रलेखन के साथ रखा करने के लिए पद। जब Ninject 3.0 पोर्टिंग
किसी को भी एक ही अपवाद है? issue
मैं भी इस का उपयोग कर रहा है या एक वर्ग इंजेक्षन (यह एक तरीका है कि वैसे भी नहीं कहा जा सकता रोकना बेकार है) : //stackoverflow.com/questions/5353476/ninject-one-interceptor-instance-per-one-class-instance-being-intercepted – Cortlendt
अपडेट - मैं प्रकार इंटरफ़ेस लागू करता है और इसके चारों ओर से इंटरसेप्टर है कि हल करने कर रहा हूँ ऐसा लगता है कि इस अपवाद के लिए इंटरफेस को हल करना है। मुझे पूरी तरह से यकीन नहीं है, लेकिन मुझे लगता है कि कोड की रेखा - "इंटरफेस मैपिंग इंटरफेस मैप = this.method.DeclaringType.GetInterfaceMap (request.Method.DeclaringType);" सलाह वर्ग में अपवाद का स्रोत है, और अधिक सटीक होने के लिए - इसके पैरामीटर। – Cortlendt
कृपया समस्या का प्रदर्शन करने वाली परियोजना को संलग्न करने वाले गितब पर एक बग रिपोर्ट जोड़ें। –