2

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

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

想法是我需要在 mvc 和 webapi 之间共享它。

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

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

所以我知道我们也可以在 webapi 调用中让 Class 成为单例。但是我可以为 webapi 和 mvc 共用这个单例吗?获取对于 mvc 或 webpi 调用都是持久的。

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

4

1 回答 1

1

同时拥有 MVC 和 Web Api 意味着您有 2 个独立的应用程序,它们有自己独立的内存空间、进程等。

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

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

于 2013-10-23T05:48:54.763 回答