我在asp.net web窗體應用程序中使用Ninject的2.2.0.0版本,並且在幾百次請求之後,它有時會在Binding類的GetProvider方法中拋出NullReferenceException異常。Ninject - Binding.GetProvider拋出NullReferenceException
例堆棧跟蹤:http://pastebin.com/BbhsPQMT
的例外只有當我強調測試應用程序和異常原因發生通常是不同的(不同的解決界面)。
爲了試圖理解爲什麼會出現這個問題,我查看了Ninject源代碼並插入了一些代碼行用於調試目的。我後來證實,null對象是Binding類中的ProviderCallback屬性。
我也將一些代碼放在ProviderCallback屬性的set操作符中,以便了解它是否被設置爲null。在運行一些測試並查看一些內存轉儲後,似乎ProviderCallback屬性沒有設置爲空值,因此我認爲GC收集的實例。
我仍然不明白爲什麼會發生這種情況...
任何幫助,非常感謝。
編輯:我們升級到Ninject的最新版本,只是爲了檢查是否異常仍發生,但我們得到了相同的異常壓力後測試的應用程序:http://pastebin.com/YaiaZndz
你應該報告這一情況。 NullReferenceException總是表示引發它的代碼中的錯誤。 –
嘗試更新到最新的Ninject版本。 –