我是否需要 Unity 容器的单个实例?

发布于 2024-10-16 06:41:26 字数 151 浏览 3 评论 0原文

抱歉问这个菜鸟问题。我开始将 Unity 2.0 容器与 Silverlight 一起使用,并在其中放入一些单例。为了使单例工作,我的应用程序中是否只需要一个容器实例?我假设每当我想要查找我的单例时创建一个新的统一容器实例将导致产生具有单独单例的单独容器。

谢谢, -乔恩

Sorry for this noob question. I'm beginning to use the Unity 2.0 container with Silverlight and am putting some singletons in it. For the singletons to work, do I need to have just one instance of the container in my application? I assume that making a new unity container instance whenever I want to look up my singletons will result in separate containers with separate singletons.

Thanks,
-Jon

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

赢得她心 2024-10-23 06:41:26

您需要容器的单个实例来实现单例行为。
此外,您还需要向 ContainerControlledLifetimeManager 注册您的单例类。

You need a single instance of a container to achieve singleton behaviour.
Also you need to register your singleton classes with ContainerControlledLifetimeManager.

面犯桃花 2024-10-23 06:41:26

这有点令人困惑,因为当我们在 DI 术语中提到单例时,我们的意思并不与 单例设计模式

基本上,单例生活方式表现为(模式)单例在同一容器内,但是如果您从容器的新实例创建并使用它,您将获得不同的实例。

您可以说单例生命周期是一个本地范围单例。

总结一下容器的使用,您不需要 Singleton 容器,但需要一个单个容器实例来使用 Singleton 生活方式。

更令人困惑的是,在 Unity 中,单例生活方式被称为 ContainerControlledLifetimeManager...

It's a little confusing, because when we refer to Singletons in DI terminology, we don't mean the same as the Singleton design pattern.

Basically, the Singleton Lifestyle behaves as a (pattern) Singleton within the same container, but if you create and use it from a new instance of the container, you will get a different instance.

You can say that the Singleton Lifetime is a locally scoped Singleton.

To summarize on container usage, you don't need a Singleton container, but you need a single container instance to use the Singleton Lifestyle.

To make matters more confusing, in Unity the Singleton lifestyle is called ContainerControlledLifetimeManager...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文