내 응용 프로그램은 요청 당 세션 구현과 함께 NHibernate를 사용합니다. 현재 nhibernate 세션에 액세스하기위한 스레드 안전 싱글 톤을 제공하는 코어 라이브러리가 있습니다.Ninject and Singleton
싱글 톤은 BeginRequest 및 EndRequest 이벤트의 웹 응용 프로그램에서 활용되어 각 요청에 대한 세션 열기 및 닫기를 보장합니다. 또한 DataAccess 레이어는 동일한 싱글 톤을 사용하여 데이터 액세스를 수행하므로 동일한 nhibernate 세션이 활용됩니다.
저는 이제 런타임에 NHibernate 문맥 정보, 즉 연결 문자열을 추론 할 수 있도록 방정식에 Ninject를 추가했습니다. 나는 그것을 치는 데이터베이스를 알려주는 웹 구성의 값을 변경하고 싶습니다. 문제는이 작업을 수행하기 위해 IConnectionStringProvider 속성 중 하나를 추론 할 수 있도록 위에서 언급 한 내 싱글 톤이 필요하다는 것입니다.
올바르게 연결되었지만 싱글 톤은 결코 인스턴스화 된 속성을 가지지 않으므로 모든 것이 손상됩니다.
내 질문에 ... 어떻게 Ninject를 싱글 톤으로 작동시킬 수 있습니까? 아니면 Ninject와 작동하도록 구현을 어떻게 변경할 수 있습니까?