C# Azure fabric服务中的不同工作角色是否共享对象?
我正在使用Azure service fabric开发Asp.Net核心。我们也有无状态服务。在Azure门户上,我们有5个节点,每个节点有2个实例。我已经实现了日志机制。我也在使用依赖注入 每当worker角色从数据库中提取记录时,在处理该记录之前,几乎没有值,因为我需要在日志框架中记录这些值。我使用此值跟踪所有系统的遥测 目前,我已经为这些值创建了一个对象,并在我拿起文档时将该对象分配给日志类 当我在本地环境中运行时,它工作正常,因为我有一个节点和一个实例。一旦我移动到Azure,它就会开始覆盖值 如何避免呢?如何确保在处理之前该值不应更改 对于我们有会话的Asp.Net,是否有类似于工作角色的任务C# Azure fabric服务中的不同工作角色是否共享对象?,c#,asp.net-core,azure-service-fabric,azure-worker-roles,C#,Asp.net Core,Azure Service Fabric,Azure Worker Roles,我正在使用Azure service fabric开发Asp.Net核心。我们也有无状态服务。在Azure门户上,我们有5个节点,每个节点有2个实例。我已经实现了日志机制。我也在使用依赖注入 每当worker角色从数据库中提取记录时,在处理该记录之前,几乎没有值,因为我需要在日志框架中记录这些值。我使用此值跟踪所有系统的遥测 目前,我已经为这些值创建了一个对象,并在我拿起文档时将该对象分配给日志类 当我在本地环境中运行时,它工作正常,因为我有一个节点和一个实例。一旦我移动到Azure,它就会开始
感谢您的投入和指导。我认为您的问题与 服务结构有两种模型,共享进程和独占进程 当您在创建服务时未指定托管模型时,共享模型是默认模型,此模型将使用单个进程托管来自同一代码包(可执行文件)的多个副本。这意味着,当您在同一节点上启动多个副本时,它将创建一个进程,并在此进程中初始化任何新副本。当您使用静态对象和单例对象时,这是一个大问题,因为所有副本都将看到相同的对象,但在您的代码逻辑上,服务的每个实例应该是不同的 独占进程将在每次在同一节点上放置新副本时创建一个新进程。因此,如果您使用的是静态对象或单例对象,那么这应该是要使用的模型