2010-10-01 17 views
6

ile ilgili atılan Aralıklı istisnalar istisnalar var. Şimdi fazla istek kısa bir süre içinde olurken, bazı kesintili istisna atýlacaktý görüyorum. OnejectRequestModule

İşte atılıyor istisna.

Tür: System.ArgumentException
Mesaj: Aynı anahtara sahip bir öğe zaten eklendi.
Kaynak: Ninject
Yığın İzleme: System.ThrowHelper.ThrowArgumentException (ExceptionResource kaynak) en System.Collections.Generic.Dictionary ` 2.Insert (TKey anahtar, TValue değeri, Boolean eklenti)
de
Ninject.Components.ComponentContainer.ResolveInstance de Ninject.Components.ComponentContainer.CreateNewInstance de System.Collections.Generic.Dictionary ` 2.Add (TKey tuşu, TValue değeri)
(Tip bileşeni, Tür uygulaması)
(Tip bileşeni de, Tip uygulaması)Ninject.Components.ComponentContainer.Get (Tür bileşeni)
at Ninject.Components.ComponentContainer adresindeki . <CreateNewInstance> b _ _ 6 (Parameterınfo parametresi) System.Linq.Enumerable.WhereSelectArrayIterator ` 2.MoveNext() System.Linq.Buffer ` 1..ctor de
(IEnumerable ` 1 kaynak)

System'de .Linq.Enumerable.ToArray [TSource] (IEnumerable ` 1 kaynak) Ninject.Components.ComponentContainer.CreateNewInstance (Tip bileşeni, Tip uygulaması) de
Ninject.Components.ComponentContainer.ResolveInstance (Tip bileşeni, Tip uygulaması)
de
Ninject.KernelBase de (bağlayıcı IRequest talebi IBinding) Ninject.KernelBase.CreateContext de Ninject.Components.ComponentContainer.GetT

de Ninject.Components.ComponentContainer.Get (Tip bileşeni)
de. < > C _ _ DisplayClassa. < System.Linq.Enumerable adresinden _ 6 (IBinding binding)
özün. < > C _ _ DisplayClass12 ` 3. <CombineSelectors> b _ _ 11 (TSource x) System.Linq.Enumerable de System.Linq.Enumerable.WhereSelectEnumerableIterator ` 2.MoveNext()
de
. <CastIterator> d _ _ aa ` 1.MoveNext() System.Linq.Enumerable.Single [TSource] (IEnumerable ` 1 kaynak)
Ninject.ResolutionExtensions de
.Ben OnePerRequestModule kaldırırsanız [T] (IResolutionRoot kökü, IParameter [] parametreleri)
NameOfConsumingSite .Application _ BeginRequest (nesne gönderici, EventArgs e) ...

özel durum almaz Get web.config dosyasındaki httpModules öğesinden öğe, ancak bu, ton ek yükünü ekliyor.

Yardım edebilecekleri için şimdiden herkese teşekkür ediyorum!

+0

Bağlamalarınız hakkında ilginç bir şey var mı? Yoksa örtük bir sınıf kendi kendine bağlanmış bir yığın mı? Prensip olarak, bu açıkça sadece çalışmalıdır. Bagaj versiyonunuz var mı yoksa ikili kodunuz var mı? –

+0

Hiçbir şey fantezi, v1.5'te kusursuz olarak çalışan aynı bağlamalar. Ayrıca, geçerli ikili kullanıyorum. Ninject Google Group'tan Sean Chambers, InXxxxScope yöntemlerinin bu sorumluluğu üstlendiğinden OnePerRequestModule'un kullanımdan kaldırıldığını öne sürüyor. Cevapsız bırakılan şey, OnePerRequestModule'nin hala Ninject çözümüne dahil edilmesinin nedenidir. GarbageCollectionCachePruner ile bir yarış durumunun neden olabileceğini merak ediyorum. – reifnir

cevap

3

Çok iş parçacıklı bir sorun vardı. https://github.com/ninject adresinde bulunan 2.2 RC1'i kullanmayı deneyin. Lütfen sürümden önce düzeltmemiz gereken başka bir sorun olmadığından emin olmak için bu sorunun hala devam edip etmediğini söyle.

+1

Özel sorun burada (yeniden üretme adımları ile) açıklanmıştır: https://github.com/ninject/ninject/issues/closed#issue/17. 2.1.0.70 sürümünde düzeltildi. –