Używam wersji 2.2.0.0 programu Ninject w aplikacji formularzy WWW asp.net i po kilkuset żądaniach, czasami generuje wyjątek NullReferenceException w metodzie GetProvider klasy Binding.Ninject - Binding.GetProvider generuje wyjątek NullReferenceException
Przykład stos śledzenia: http://pastebin.com/BbhsPQMT
Wyjątek występuje tylko wtedy, kiedy podkreślić testowanie aplikacji i pochodzenie wyjątkiem zwykle różne (rozwiązanie różne interfejsy).
Aby zrozumieć przyczynę tego problemu, sprawdziłem kod źródłowy Ninject i wstawiłem kilka linii kodu do celów debugowania. Później potwierdziłem, że obiekt o wartości NULL to właściwość ProviderCallback w klasie Powiązanie.
Wprowadziłem również kod do operatora set właściwości ProviderCallback, aby zrozumieć, czy był ustawiony na wartość null. Po wykonaniu niektórych testów i przejrzeniu niektórych zrzutów pamięci wydaje się, że właściwość ProviderCallback nie jest ustawiona na wartość pustą, więc myślę, że instancja jest gromadzona przez GC.
ja nadal nie rozumiem, dlaczego tak się dzieje ...
Każda pomoc jest mile widziana.
Edit: Zostaliśmy przeniesieni do najnowszej wersji Ninject po prostu sprawdzić, czy wyjątek nadal występuje, ale mamy ten sam wyjątek po stresie testowania aplikacji: http://pastebin.com/YaiaZndz
Należy zgłosić. Wyjątek NullReferenceException zawsze wskazuje błąd w kodzie, który go wyrzuca. –
Spróbuj zaktualizować do najnowszej wersji Ninject. –