问题标签 [system.reactive]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
998 浏览

.net - “推送” linq 与反应式框架

(通过结合两个我没有理解的概念,再次暴露了我的无知的深度)

我在这里读到了Reactive 框架与 Linq 的“拉”模型相比是“推”模型。这让我想起了一篇关于'Push' Linq的文章。

这两个“框架”之间真的有相似之处吗?

更新

自从我提出这个问题后,Jon Skeet 也提出了这个问题,这是他的第一印象和第二印象。

0 投票
3 回答
2917 浏览

.net - ToObservable 扩展方法在哪里?

我看到这里提到了它,但我不using知道我必须添加哪个才能得到它。

(暂时滚动我自己的)

0 投票
2 回答
1659 浏览

.net - 证明其有用性的 .NET 示例的反应式框架

围绕.NET 4.0 中的新Reactive Framework有不少炒作。虽然我认为我没有理解它的基本概念,但我并不完全相信它是如此有用。你能想出一个很好的例子(这个例子很容易理解),完全展示了 Rx 的力量和有用性吗?展示一些在使用 Rx 后让生活变得如此轻松的东西。

0 投票
5 回答
12975 浏览

mvvm - 反应式扩展 (Rx) + MVVM =?

用于解释响应式扩展 (Rx) 功能的主要示例之一是将现有的鼠标事件组合成一个新的“事件”,表示鼠标拖动期间的增量:

资料来源: Matthew Podwysocki 的 Reactive Framework 系列简介

在 MVVM 中,我通常会努力让我的 .xaml.cs 文件尽可能地为空,并且将视图中的事件与视图模型中的命令完全在标记中挂钩的一种方法是使用一种行为:

资料来源:布赖恩·杰尼西奥

反应式框架似乎更适合传统的 MVC 模式,其中控制器知道视图并可以直接引用其事件。

但是,我既想吃蛋糕又想吃!

你会如何结合这两种模式?

0 投票
5 回答
13008 浏览

c# - 实现 IObservable从头开始

Reactive Extensions 附带了许多帮助方法,用于将现有事件和异步操作转换为可观察对象,但是您将如何从头开始实现 IObservable<T> 呢?

IEnumerable 具有可爱的 yield 关键字,使其非常易于实现。

实现 IObservable<T> 的正确方法是什么?

我需要担心线程安全吗?

我知道支持在特定同步上下文中回调,但这是我作为 IObservable<T> 作者需要担心的事情,还是以某种方式内置的?

更新:

这是我的 C# 版本的 Brian 的 F# 解决方案

编辑:如果 Dispose 被调用两次,不要抛出 ObjectDisposedException

0 投票
6 回答
23620 浏览

c# - 101 个 Rx 示例

编辑:感谢 wiki 的链接,我认为既然它已经从那里开始,去那里查看它更容易。但是这里的问题也很好,所以不在 msdn 论坛周围的人可以了解 wiki 及其所在位置。

简短的问题:

您是否有可以帮助人们更好地理解它的 Rx 代码示例?

长篇大论隐藏的问题:

现在Rx 框架已经发布,我认为我们中的许多人都对获取这些位并尝试它们感兴趣。可悲的是,那里确实没有多少示例(经过详尽的搜索后,我几乎确信 Rx 只是为了在 wpf 应用程序上轻松拖动)。

我不记得我在哪里读到或听说过(我一直在看很多博客和视频)Rx 团队似乎有兴趣做 101 系列……当他们有足够的时间去做时......对于那些想要理解它并现在就玩它的人来说,这简直糟透了(我的意思是,当新技术出现时,自尊的开发人员不会觉得自己像一个拿着新玩具的孩子。像这样) .

我个人现在一直在尝试,但是哇,里面有一些疯狂的概念......只是有像MaterializeZip这样的方法名称让我想起了TeleportersBack to the Future 中的东西。

所以,我认为如果有更深入了解的人帮助建立一个示例集合,ala 101 Linq Examples从基本用法到更复杂的东西,并且几乎涵盖了所有方法及其用途,那就太好了,在一种实用的方法(也许还有一点理论,特别是因为这些概念可能需要它)

我认为 MS 开发人员花时间给我们提供这样的材料很棒,但我也认为这个社区足够好,可以开始构建我们自己的材料,不是吗?

0 投票
1 回答
3693 浏览

c# - 在 Silverlight 中调用 WCF 服务时使用 Observable.FromEvent

我正在尝试使用 .NET Reactive Framework 来简化对我正在编写的 Silverlight 3 应用程序使用的 WCF 服务的一些异步调用。

问题是我很难找到一种方法来以一种可行的方式构建我的代码。毫无疑问,部分问题在于理解 Reactive 中可用的机制以及如何使用它们来解决我的问题。

我正在尝试将一系列 WCF 服务器调用串在一起 - 如果它们是同步的,它们看起来像这样:

过去的调用m_Server.XXXX()直接在 Silveright 应用程序中实现(因此它们可以是同步的) - 但现在在 WCF 服务中实现。由于 Silverlight 强制您异步调用 WCF 服务 - 重写此代码块一直很棘手。

我希望用来Observable.FromEvent<>()订阅XXXCompletedWCF 代理代码生成的各种事件,但我不清楚如何让它工作。我最初的尝试看起来像:

0 投票
1 回答
753 浏览

system.reactive - 当 Observable.Context 不可用时如何更新 UI?

我有一个 WinFrom 应用程序,使用同步方法从 url 下载字符串,并使用 Rx ToAsync 方法使其异步并获得可观察的结果,当结果出现时,我将其显示在 Form 上。

昨天,我将 Rx 更新到最新版本,并被告知“Observable 不包含 Context 的定义”。我试着评论这一行,代码抛出了一个异常“跨线程操作无效:控制'tbx_Reference'从创建它的线程以外的线程访问。”

我想使用订阅方法显示异步结果。我该如何解决这个问题?非常感谢。

0 投票
1 回答
1640 浏览

.net - 反应式扩展 (Rx) 和异步类

我在这篇文章中读到:“ Rx 的乐趣:基于事件的异步模式 vs IObservable ”,不鼓励使用 EBAP。使用新的 Rx 扩展(类似于 msdn 的 PrimeNumberCalculator 示例)设计异步组件的最佳方式是什么?

先感谢您。

更新 我设法编写了自己的素数计算器,我想听听你的意见:

0 投票
2 回答
1466 浏览

c# - 反应式扩展/并行扩展中的最大线程数

由于 Microsoft 可能会终止所有指向 Parallel Extensions CTP 的下载链接,我完全迷失了方向。

我想指定在某个时间运行的最大任务数,因为我想要比处理器更多的线程。任何线索如何在 RX 中做到这一点?