Web API的Ninject依赖解析和; MVC

时间:2013-10-23 05:36:17

标签: c# asp.net-mvc asp.net-web-api ninject

动机:我正在尝试在单例范围内创建一个类,并将其定义为单例:

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

想法是我需要在mvc和webapi之间分享这个。

在MVC中,类获得单例。所以这在MVC项目中工作正常。

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

所以我理解我们也可以让Class在webapi调用中成为单例。但我可以为webapi和mvc共同使用这个单例。对于mvc或webpi调用都会保持get。

可能我在这里缺少一些概念。请解释我如何实现这一目标。或者这是不可能的。 是的,可能设计很奇怪而且不对,但如果我出于某种原因必须这样做。

1 个答案:

答案 0 :(得分:1)

同时拥有MVC和Web Api意味着您有2个独立的应用程序,这些应用程序具有各自独立的内存空间,进程等。

我想你可以尝试使用AppDomain,但你可能会遇到问题。

你可以尝试使用session,但是web api是REST而不应该有,但是如果你真的需要相同的实例,你可以试着稍微改变规则。