Tôi đang sử dụng phiên bản 2.2.0.0 của Ninject trong ứng dụng biểu mẫu web asp.net và sau vài trăm yêu cầu, đôi khi nó ném ra một NullReferenceException trong phương thức GetProvider của lớp Binding.Ninject - Binding.GetProvider ném NullReferenceException
Ví dụ stack trace: http://pastebin.com/BbhsPQMT
Ngoại lệ duy nhất xảy ra khi tôi căng thẳng thử nghiệm các ứng dụng và nguồn gốc của các ngoại lệ thường khác (giải quyết các giao diện riêng biệt).
Để tìm hiểu lý do tại sao sự cố này xảy ra khi tôi xem mã nguồn Ninject và chèn một số dòng mã cho mục đích gỡ lỗi. Sau đó tôi xác nhận rằng đối tượng là null là thuộc tính ProviderCallback trong lớp Binding.
Tôi cũng đặt một số mã trong toán tử đã đặt của thuộc tính ProviderCallback để hiểu xem nó có được đặt thành không. Sau khi chạy một số thử nghiệm và xem xét một số bãi chứa bộ nhớ có vẻ như là tài sản ProviderCallback không được đặt thành một giá trị null và vì vậy tôi nghĩ rằng dụ được thu thập bởi GC.
Tôi vẫn không hiểu tại sao điều này lại xảy ra ...
Bất kỳ trợ giúp nào được đánh giá cao.
Edit: Chúng tôi nâng cấp lên phiên bản mới nhất của Ninject chỉ để kiểm tra nếu ngoại lệ vẫn xảy ra nhưng chúng tôi đã nhận cùng một ngoại lệ sau khi căng thẳng thử nghiệm ứng dụng: http://pastebin.com/YaiaZndz
Bạn nên báo cáo này. Một NullReferenceException luôn luôn chỉ ra một lỗi trong mã mà ném nó. –
Hãy thử cập nhật lên phiên bản Ninject mới nhất. –