小编Jon*_*llo的帖子

如何触发奥尔良谷物重新激活?

如果我必须对奥尔良 Grains 集后面的持久层执行操作,如何确保受影响的 Grains 可以根据更新的数据重新激活?

我的示例是,我有一个 Employee 记录级别的 Grain(EmployeeID 作为 Grain ID),我需要对某些记录执行批量操作。显然,重要的是我确保在此操作后谷物重新加载到该状态。

我创建了一个奥尔良粮仓,用于执行各种操作,包括员工变更操作。我正在使用 GetGrain 功能,如下所示

var employeeGrain = _clusterClient.GetGrain<IEmployeeGrain>(employeeId, "employee");
Run Code Online (Sandbox Code Playgroud)

该颗粒在根据标准奥尔良生命周期使用时将保持活跃状态​​。我的问题是,如果我故意执行更改基础数据的操作,如何触发受影响的颗粒重新激活?

来自官方文档 https://dotnet.github.io/orleans/1.5/Documentation/Advanced-Concepts/Activation-Garbage-Collection.html

看来你可以强制单个颗粒停用

this.DeactivateOnIdle()
Run Code Online (Sandbox Code Playgroud)

但是,如果我进行更大的操作,我想避免对每粒颗粒都这样做吗?我想理想情况下回收特定类型的所有谷物。

.net orleans

0
推荐指数
1
解决办法
1752
查看次数

标签 统计

.net ×1

orleans ×1