2010-10-01 11 views
6

से संबंधित निंजा इंटरमीटेंट अपवाद फेंक दिया गया है, मैंने अभी निनजेक्ट के मौजूदा कार्यान्वयन को 1.5 से 2.0 तक अपग्रेड किया है। अब मैं थोड़ी देर में कई अनुरोध होने पर एक अंतरिम अपवाद फेंक रहा हूं।OnePerRequestModule

यहां अपवाद है जिसे फेंक दिया जा रहा है।

प्रकार: System.ArgumentException
संदेश: एक ही कुंजी के साथ एक आइटम पहले से ही जोड़ा गया है।
स्रोत: Ninject
स्टैक ट्रेस: ​​ System.ThrowHelper.ThrowArgumentException (ExceptionResource संसाधन) पर
System.Collections.Generic.Dictionary ` 2.Insert (TKey कुंजी, TValue मूल्य, बूलियन ऐड)
पर System.Collections.Generic.Dictionary ` 2.Add (TKey कुंजी, TValue मूल्य)
Ninject.Components.ComponentContainer.CreateNewInstance पर (प्रकार घटक, प्रकार कार्यान्वयन)
Ninject.Components.ComponentContainer.ResolveInstance पर (प्रकार घटक में, कार्यान्वयन टाइप करें)
Ninject.Components.ComponentContainer.Get (घटक टाइप करें)
Ninject.Components.ComponentContainer पर। <CreateNewInstance> ख _ _ 6 (ParameterInfo पैरामीटर)
System.Linq.Enumerable.WhereSelectArrayIterator ` 2.MoveNext()
System.Linq.Buffer ` 1..ctor पर (IEnumerable ` 1 स्रोत) पर
प्रणाली पर .Linq.Enumerable.ToArray [TSource] (IEnumerable ` 1 स्रोत)
Ninject.Components.ComponentContainer.CreateNewInstance (प्रकार घटक, प्रकार कार्यान्वयन) पर
Ninject.Components.ComponentContainer.ResolveInstance (प्रकार घटक, प्रकार कार्यान्वयन)
परNinject.Components.ComponentContainer.GetT
Ninject.KernelBase.CreateContext पर (IRequest अनुरोध, IBinding बंधन)
Ninject.KernelBase पर पर Ninject.Components.ComponentContainer.Get (प्रकार घटक)
पर ५३६९१३६३२१०। < > सी _ _ DisplayClassa। < > बी _ _ 6 (बाइंडिंग बाइबिलिंग)
सिस्टम.लिंक.अन्यूमेबल पर हल करें। < > ग _ _ DisplayClass12 ` 3. <CombineSelectors> ख _ _ 11 (TSource एक्स)
System.Linq.Enumerable पर System.Linq.Enumerable.WhereSelectEnumerableIterator ` 2.MoveNext()
पर । <CastIterator> घ _ _ आ ` 1.MoveNext()
System.Linq.Enumerable.Single [TSource] (IEnumerable ` 1 स्रोत) पर
Ninject.ResolutionExtensions पर।[टी] (IResolutionRoot जड़, IParameter [] पैरामीटर)
NameOfConsumingSite .आवेदन _ BeginRequest पर (वस्तु प्रेषक, EventArgs e) ...

अपवाद उत्पन्न नहीं होती हो जाओ अगर मैं OnePerRequestModule को दूर web.config में httpModules से आइटम, लेकिन यह ओवरहेड के टन जोड़ रहा है।

यदि मैं मदद कर सकता हूं तो मैं अग्रिम में किसी का भी धन्यवाद करता हूं!

+0

आपके बाइंडिंग के बारे में कुछ भी दिलचस्प है? या यह अंतर्निहित वर्ग आत्म बाइंडिंग का ढेर है? सिद्धांत रूप में, यह स्पष्ट रूप से काम करना चाहिए। क्या आपके पास ट्रंक संस्करण है या क्या आपके पास कुछ बाइनरी है? –

+0

कुछ भी फैंसी नहीं है, वे वही बाइंडिंग हैं जो v1.5 में बेकार ढंग से काम करते हैं। इसके अलावा, मैं वर्तमान बाइनरी का उपयोग कर रहा हूँ। निनजेक्ट Google समूह के शॉन चैंबर ने सुझाव दिया है कि OnePerRequestModule को बहिष्कृत किया गया है क्योंकि InXxxxScope विधियां उस ज़िम्मेदारी को संभालती हैं। अनुत्तरित छोड़ दिया गया है कि क्यों OnePerRequestModule निंजा समाधान में अभी भी शामिल है। मुझे यह भी आश्चर्य है कि क्या यह GarbageCollectionCachePruner के साथ रेसिंग स्थिति के कारण हो सकता है। – reifnir

उत्तर

3

एक बहुभाषी समस्या थी। https://github.com/ninject पर मिले 2.2 आरसी 1 का उपयोग करने का प्रयास करें। कृपया मुझे बताएं कि यह समस्या अभी भी इस संस्करण के साथ होती है ताकि यह सुनिश्चित किया जा सके कि हमारे पास कोई और समस्या नहीं है जिसे हमें रिलीज से पहले ठीक करना है।

+1

विशिष्ट समस्या का वर्णन यहां किया गया है (पुन: पेश करने के चरणों के साथ): https://github.com/ninject/ninject/issues/closed#issue/17। यह संस्करण 2.1.0.70 में तय किया गया था। –