我只是用Ninject.Mvc3 NuGet軟件包弄溼了自己的腳,而且我想知道創建的對象持續多久。Web應用程序的'InSingletonScope'究竟有多長時間?
InRequestScope
每個人都可以理解:在此範圍內創建的每個對象都會在Web服務器處理特定的Web請求時生效。 (要迂腐,對象生活只要HttpContext.Current
對象不會)
但是,多長時間這樣InSingletonScope
對象持續多久?該文檔說,只要Ninject內核本身 - 這是包裝了靜態類NinjectWebCommon
。我迄今爲止所做的最好的猜測是,只要服務器運行webapp,內核就會存在 - 只要服務器啓動,直到應用程序在IIS中手動重新啓動或更新,對象處於範圍內。
我很好奇,因爲我很想有一些Data Accessors包含只讀數據字典作爲Singleton Scope,並且我想知道這是一個好主意還是計劃中的內存泄漏。