2013-10-23 82 views
2

动机:我想在单身范围类,并定义它是单身,如:为的WebAPI和MVC Ninject依赖解析

kernel.Bind<IClass>().To<Class>().InSingletonScope(); 

的想法是,我需要MVC和的WebAPI之间共享这个。

在MVC中,类获得单例。所以这个工作在MVC项目中很好。

问题:我已经为WebAPI实现了我自己的IDependencyResolver。它使用相同的内核设置。

所以我明白我们可以让Class在webapi调用中也是单身人士。但是我可以为webapi和mvc共同拥有这个单例吗?获取是坚持mvc或webpi调用。

大概我在这里错过了一些概念。请解释我们如何实现这一目标。或者这是不可能的。 是的,可能设计很奇怪,不对,但如果因为某些原因必须这样做。

回答

1

既能保持MVC和网络API意味着你必须有自己独立的内存空间,进程等2个独立的应用程序

我猜想,你可以尝试用AppDomain的东西,但你可能有那个问题。

你可以尝试会话,但Web API是REST,不应该有,但如果你确实需要相同的实例,你可以尝试弯曲一些规则。

+0

嗨,谢谢你的回答。我已经开始尝试使用会话,尽管REST是无状态的。 –