c# - 何时使用 ISourceBlock 或 IObservable

标签 c# task-parallel-library system.reactive tpl-dataflow

<分区>

我需要使用推模型返回项目集合(与拉模型相反,如 IEnumerable)。但是,我不确定我是否应该使用响应式(Reactive)扩展中的 IObservable 或 TPL 数据流中的 ISourceBlock。

它们看起来很相似,在什么情况下应该选择一个而不是另一个?

最佳答案

基本上,我认为答案归结为您将如何使用这些结果。如果您想使用 TPL 数据流处理它们,请返回 ISourceBlock<T> .如果您要使用 Rx 处理它们,请使用 IObservable<T> .

不知道的话我觉得还是回ISourceBlock<T>比较好,因为 it can be easily converted to IObservable<T> .

关于c# - 何时使用 ISourceBlock 或 IObservable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14367718/

相关文章:

c# - 可观察流是否可以按时间戳进行分区,类似于 Buffer 或 Window?

c# - 如何访问主窗体公共(public)属性 WPF

c# - wpf MediaElement 内存泄漏

c# - 检查是否使用 Moq 调用了 CancellationTokenSource.Cancel()

c# - 同时下载多个文件并在所有文件下载完成后继续

c# - 如何释放 Parallel.Task 使用的内存?

c# - 如何使用 Reactive Extensions 来限制 SearchPane.SuggestionsRequested?

c# - react 性扩展 : Concurrency within the subscriber

c# - 使用 Teststack.White 将文本写入 PasswordBox

c# - EF Core "Cannot insert explicit value for identity column"尽管 IDENTIY_INSERT 设置为 ON