【问题标题】:How to get Preloaded Actor state in Service Fabric如何在 Service Fabric 中获取预加载的 Actor 状态
【发布时间】:2020-07-17 20:55:11
【问题描述】:

我正在 Azure 服务结构上开发一个应用程序。它是一个简单的用户 TODO 应用程序。我创建了 TodoActor 来添加用户 TODO。它只是使用StateManager 添加用户 TODO。我知道 StateManager 会将状态存储在磁盘内存中,而不是任何数据库中。

但在启动应用程序之前,我希望该用户应该为他们预加载 Todos。有没有办法为演员预装状态?

有没有办法在数据库中保存这些数据?

【问题讨论】:

    标签: azure-service-fabric


    【解决方案1】:

    演员are created 使用时。例如,当它被调用时,或者当提醒触发时。如果一个 Actor 以前从未使用过,那么它还不存在,因此无法预加载状态。

    您可以做的是在创建 Actor 时即时预加载数据:

    protected override async Task OnAactivateAsync()
    {
       if(!await StateManager.ContainsStateAsync("ToDoState"))
       {
          await this.StateManager.TryAddStateAsync<List<string>>("ToDoState", new List<string>{});
       }
    
    }
    

    【讨论】:

      猜你喜欢
      • 2018-09-16
      • 2016-08-29
      • 1970-01-01
      • 2016-10-31
      • 2017-07-11
      • 2020-07-17
      • 2016-03-11
      • 2018-01-11
      • 2021-01-09
      相关资源
      最近更新 更多