我很努力地实现一个功能来为Ninject IoC启用自定义会话范围。我的要求是,对于唯一的会话id(int),我会得到绑定到特定接口的对象的新实例。 第二个要求是它必须可以在Get被调用的地方。如何将会话ID传递给Ninject容器以获取会话绑定的对象实例?
问题是,IKernel.Get <>无法传递会话ID。我不能使用.InScope(),因为静态实例将无法访问当前会话ID。 (可以使用无Session.Current模式)。
会话只能通过唯一的整数进行区分,并且可以同时运行多个会话。
除了每次创建一个单独的容器之外,还有什么想法?恐怕它可能是昂贵的。复制容器? Ninject有可能吗?
谢谢,Radek
防止让对象图的构造依赖于运行时数据。阅读[this](https://www.cuttingedge.it/blogs/steven/pivot/entry.php?id=99)以获取更多信息。 – Steven