三天来,我一直在尝试用 Castle 和 wcf 来解决这个 NHibernatefacility 问题,这真的令人沮丧。
在解决了十几个错误之后,我来到了这个看起来很明显但我无法解决的错误。
这是我 global.asax 的 Application_Start
container.AddFacility<AutoTxFacility>();
container.Register(Component.For<INHibernateInstaller>().ImplementedBy<NHibernateInstaller>());
container.AddFacility<NHibernateFacility>();
container.AddFacility<WcfFacility>();
container.Register(
Component.For<IAuthService>().ImplementedBy<AuthService>().LifestylePerWcfOperation(),
Component.For<IUserRepository>().ImplementedBy<UserRepository>().LifestylePerWcfOperation(),
Component.For<IActionWebService>().ImplementedBy<ActionWebService>().Named("ActionWebService").LifestylePerWcfOperation(),
Component.For<ISession>().LifeStyle.PerWcfOperation().UsingFactoryMethod(x => container.Resolve<ISessionManager>().OpenSession()));
这适用于第一个请求。之后,它出现了这个错误。
工厂被废弃,不能再使用。对象名称:“这个”。
错误发生在我的用户存储库中的这一行
[Transaction]
public virtual User GetUserByCredentials(string email, string password)
{
using (var tx = session())
{
return tx.QueryOver<User>().Where(x => x.Email == email && x.Password == password).SingleOrDefault();
}
}
我感觉这与生活方式有关。我尝试了多种组合但不成功。我现在不知道该怎么办。我带着所有的设施(应该让生活更轻松)进入了这座城堡,由于缺乏文档,这真的很复杂。我还没有找到一个下降指南来一起实现所有这些,更不用说那些不到 4 岁的东西了。
请帮忙!