我很努力地實現一個功能來爲Ninject IoC啓用自定義會話範圍。我的要求是,對於唯一的會話id(int),我會得到綁定到特定接口的對象的新實例。 第二個要求是它必須可以在Get被調用的地方。如何將會話ID傳遞給Ninject容器以獲取會話綁定的對象實例?
問題是,IKernel.Get <>無法傳遞會話ID。我不能使用.InScope(),因爲靜態實例將無法訪問當前會話ID。 (可以使用無Session.Current模式)。
會話只能通過唯一的整數進行區分,並且可以同時運行多個會話。
除了每次創建一個單獨的容器之外,還有什麼想法?恐怕它可能是昂貴的。複製容器? Ninject有可能嗎?
謝謝,Radek
防止讓對象圖的構造依賴於運行時數據。閱讀[this](https://www.cuttingedge.it/blogs/steven/pivot/entry.php?id=99)以獲取更多信息。 – Steven