c# - StructureMap 到 Ninject 的转换

标签 c# ninject structuremap

如何转换:

For<ISession>().Use(ctx => {
    var uow = (INHibernateUnitOfWork)ctx.GetInstance<IUnitOfWork>();
    return uow.Session;
});

去忍者?

我能够转换这个:

For<ISessionSource>().Singleton().Use<NHibernateSessionSource>();

Bind<ISessionSource>()
    .To<NHibernateSessionSource>()
    .InSingletonScope()

我想我也能够转换这个:

For<IUnitOfWork>().HybridHttpOrThreadLocalScoped().Use<NHibernateUnitOfWork>();

Bind<IUnitOfWork>().To<NHibernateUnitOfWork>().InThreadScope();

我知道这些不会都是一对一的,但是我可以获得一些帮助吗?

最佳答案

Bind<ISession>().ToMethod(ctx => {
    var uow = (INHibernateUnitOfWork)ctx.Kernel.Get<IUnitOfWork>();
    return uow.Session;
});

关于c# - StructureMap 到 Ninject 的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11780293/

相关文章:

c# - 如何减少后台工作程序中使用匿名管道的程序的 CPU 使用率?

c# - 数据绑定(bind)文本框不反射(reflect)源更改

c# - ASP.NET MVC 4 + Ninject MVC 3 = 没有为此对象定义无参数构造函数

asp.net-mvc - 基于路由数据值的 Ninject 注入(inject)

c# - Structuremap类库模块

angularjs - 如何让 StructureMap 与 AngularJs/MVC5 和 WebApi2 Web 项目一起工作

c# - StructureMap 无法使用注入(inject)实例进行 setter 注入(inject)

c# - 有没有一种方法可以使用一种方法来处理其他方法以避免代码重复?

c# - 无法关闭showDialog

ioc-container - 在 Ninject 2.0 中,我如何同时拥有通用绑定(bind)和特定情况的绑定(bind)?