2012-07-03 3 views
0

ASP.NET MVC4 응용 프로그램을 설정하고 있으며 DI 컨테이너로 Ninject를 사용하고 있습니다. FluentNHibernate를 Ninject에 등록하는 방법?

는 이전 프로젝트에서 나는 레지스트리에서 다음 설치를 에게 StructureMap를 사용 :
For<IAutoPersistenceConfiguration>() 
    .Use<Sql2008AutoPersistenceConfiguration>() 
    .Ctor<string>("connectionString") 
    .Is("SomeConnectionStringHere"); 
For<ISessionSource>() 
    .Singleton() 
    .Use(x => new SessionSource(x.GetInstance<IAutoPersistenceConfiguration>().Build())); 

가 지금은 에서 비슷한 설정에 Ninject에을 시도합니다. 나의 시도는 지금까지입니다 :

Bind<IAutoPersistenceConfiguration>() 
    .To<Sql2008AutoPersistenceConfiguration>() 
    .WithConstructorArgument("connectionString", "SomeConnectionStringHere"); 
Bind<ISessionSource>() 
    .ToMethod(x => new SessionSource(
    x.Kernel.Get<IAutoPersistenceConfiguration>().Build())).InSingletonScope(); 

내가 이것을 실행하면 내가 FluentConfigurationException 얻을 :

An invalid or incomplete configuration was used while creating a SessionFactory.

다른 클래스가 모두 동일을, IAutoPersistenceConfiguration 및 Sql2008AutoPersistenceConfiguration은 이전과 동일합니다. Hibernate와 FluentNHibernate의 버전은 이전과 동일하다.

내가 뭘 잘못하고 있니?

+0

내부 예외가 더 유용하다는 것이 밝혀졌습니다. "서버와 성공적으로 연결되었지만 로그인 프로세스 중에 오류가 발생했습니다 (공급자 : 공유 메모리 공급자, 오류 : 0 - 프로세스가 파이프의 다른쪽에 없습니다."). – Halvard

답변

0

내 설정이 올바르지 않습니다. 예외는 내가 처음에 보지 않은 내적인 예외 (내 질문에 대한 내 자신의 코멘트 참조)를 숨겼습니다. 일단 내가해야만하는 내적인 예외를 보았을 때 연결 스트링을 고쳐야 만 모든 것이 작동했습니다.