Orleans grain 代码中的反应式扩展
Reactive Extentions in Orleans grain code
https://github.com/dotnet/reactive 项目有重大更新:
v4.0 changes
Ix Async 4.0 has a breaking change from prior versions due to being
the first LINQ implementation to support the new C# 8 async streams
feature. This means for .NET Standard 2.1 and .NET Core 3 targets, we
use the in-box interfaces for IAsyncEnumerable and friends. On
other platforms, we provide the implementation, so you can use await
foreach and create async iterators as you would expect. The types will
unify to the system ones where the platform provides it.
There are many breaking changes here; a full set of change notes is on
the way.
这个库可以用在Orleans代码中来处理grains中的流吗?我知道 RX 使用自己的调度程序来 运行 观察者和订阅(例如 ObserveOn()
和 SubscribeOn()
),我很好奇这是否会与 Orlean 自己的调度程序冲突,或者是否有一种使 RX 尊重或利用 Orlean 任务的方法 运行ner 通过在上述方法中将其传递给 RX。
根据 GitHub issue #315, Rx.NET 的最新更新,Orleans 不支持。理论上它应该可以工作,建议考虑使用类似的东西:
var rxScheduler = new TaskPoolScheduler(new TaskFactory(RuntimeContext.Current));
我在 Gitter channel 历史中也没有找到任何有用的信息。
https://github.com/dotnet/reactive 项目有重大更新:
v4.0 changes
Ix Async 4.0 has a breaking change from prior versions due to being the first LINQ implementation to support the new C# 8 async streams feature. This means for .NET Standard 2.1 and .NET Core 3 targets, we use the in-box interfaces for IAsyncEnumerable and friends. On other platforms, we provide the implementation, so you can use await foreach and create async iterators as you would expect. The types will unify to the system ones where the platform provides it.
There are many breaking changes here; a full set of change notes is on the way.
这个库可以用在Orleans代码中来处理grains中的流吗?我知道 RX 使用自己的调度程序来 运行 观察者和订阅(例如 ObserveOn()
和 SubscribeOn()
),我很好奇这是否会与 Orlean 自己的调度程序冲突,或者是否有一种使 RX 尊重或利用 Orlean 任务的方法 运行ner 通过在上述方法中将其传递给 RX。
根据 GitHub issue #315, Rx.NET 的最新更新,Orleans 不支持。理论上它应该可以工作,建议考虑使用类似的东西:
var rxScheduler = new TaskPoolScheduler(new TaskFactory(RuntimeContext.Current));
我在 Gitter channel 历史中也没有找到任何有用的信息。