gpt4 book ai didi

c# - Service Fabric 应用程序中的静态变量范围

转载 作者:太空狗 更新时间:2023-10-29 22:36:15 25 4
gpt4 key购买 nike

我正在本地运行我的 Service Fabric Stateful 服务有 3 个分区和 3 个副本。

应用程序有一个公共(public)静态变量,该值在“启动”类中初始化。

我假设静态变量的范围是每个副本。但似乎静态变量范围在节点中的所有实例之间共享。

即。我正在从分区 1 主副本访问静态变量,但它从分区 3 辅助副本访问静态变量,其中两个副本都位于同一节点。静态变量的值似乎在同一节点内以某种顺序被覆盖。

有状态服务结构应用程序中静态变量的范围是什么?

最佳答案

有状态服务的每个副本或相同服务类型的无状态服务的实例都是您的 StatefulService 或 StatelessService 派生服务类的实例化(一个与 RunAsync)在同一个进程和同一个 AppDomain 中。换句话说,放在同一个节点上的服务的所有副本只是同一个进程中的一堆.NET 对象。所以是的,将在它们之间看到一个静态变量。不推荐使用静态变量。如果您“只需要一个”东西,请使用单例模式和范围单例实例来服务副本/实例,您必须自己使用查找表来完成。

关于c# - Service Fabric 应用程序中的静态变量范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39078899/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com