如果使用NInject RequestScope,则手动处理无效

时间:2011-08-12 03:18:31

标签: c# inversion-of-control ioc-container ninject

我在我的应用程序中使用NInject的RequestScope

   Bind<ITestClass>().To<TestClass>().InRequestScope();

但是当我在这个类上调用dispose方法时,方法调用和已经在方法调用中编写的代码(我使用断点检查它)但是对象本身没有放弃,我想Ninject Request范围有事情要做当它没有使用RequestScope时,因为它工作得非常好。

  Kernel.Get<ITestClass>().Dispose();

1 个答案:

答案 0 :(得分:0)

虽然Ninject 2.4之前的版本具有ASP.NET应用程序的确定性处置,但InRequestScope没有按照您希望它在WCF-Only请求的上下文中执行的操作(而不是在'旋转中运行WCF)为每个WCF操作模式启动HttpRequest。

@Remo Gloor毫无疑问会联系进一步澄清。


你能指出你获得的内容/你如何建立/你的Ninject东西的确切内部版本号是什么。另外,请提供有关如何进行WCF集成的更多详细信息 - 您是否正在关注样本?你是否挂钩了Ninject提供的ServiceHostFactory?如果你能提供这样的细节,它可以让人们回答这个问题,推断你可能会做出什么样的假设,并在产生答案时考虑到这些假设。如果我下次没有看到任何证据,我不会评论或回答你的任何问题。 (并且不回复其他帖子的评论也不鼓励人们也想帮助你。)

请加大力度,提供重要细节,让人们第一时间回答您的问题,而无需追究您的详细信息。这发生了太多次。我只是把问题放在TL的好方面; DR,但只是做一个执行摘要和一个详细的块。