我正在设置一个 ASP.NET MVC4 应用程序,并使用 Ninject 作为我的 DI 容器。
在之前的项目中,我在注册表中使用了带有以下设置的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:
创建 SessionFactory 时使用了无效或不完整的配置。
其他类都一样;IAutoPersistenceConfiguration 和 Sql2008AutoPersistenceConfiguration 都和以前一样。NHibernate 和 FluentNHibernate 的版本也和以前一样。
我做错了什么?