jjzjj

reactivity

全部标签

c# - 如何使用 Reactive Extensions 使用最大窗口大小来限制事件?

场景:我正在构建一个UI应用程序,每隔几毫秒从后端服务获取通知。收到新通知后,我想尽快更新UI。因为我可以在短时间内收到很多通知,而且我总是只关心最新的事件,所以我使用了ReactiveExtensions框架的Throttle()方法。这让我可以忽略紧跟新通知的通知事件,因此我的UI保持响应。问题:假设我将通知事件的事件流限制为50毫秒,并且后端每10毫秒发送一次通知,则Thottle()方法将永远不会返回事件,因为它会一次又一次地重置其滑动窗口。在这里,我需要一些额外的行为来指定诸如超时之类的东西,以便在事件吞吐量如此之高的情况下,我每秒至少可以检索一个事件。我如何使用Reacti

c# - 使用 Reactive Extensions 在 TextChanged 上搜索

我试图在包含10000多条记录的数据库表上实现即时搜索。搜索在搜索文本框内的文本发生变化时开始,当搜索框变空时我想调用一个不同的方法来加载所有数据。此外,如果用户在加载另一个搜索结果时更改搜索字符串,则应停止加载这些结果以支持新搜索。我像下面的代码一样实现了它,但我想知道是否有更好或更干净的方法来使用Rx(react性扩展)运算符,我觉得在第一个可观察对象的订阅方法中创建第二个可观察对象是命令式多于声明式,if语句也是如此。varsearchStream=Observable.FromEventPattern(s=>txtSearch.TextChanged+=s,s=>txtSear

c# - Reactive Extensions (Rx) 可以跨进程或机器边界使用吗?

依稀记得很久以前看到过一些关于这个的讨论,但从那以后就再也没有听到过任何消息。那么基本上您可以在远程机器上订阅IObservable吗? 最佳答案 您可以使用IObservable.Remotable通过.NETRemoting直接从其他机器使用可观察对象。 关于c#-ReactiveExtensions(Rx)可以跨进程或机器边界使用吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questi

c# - 为什么 Reactive Extensions 在编译时向微软发送 HTTP GET?

我从这个站点下载了ReactiveExtensionsv1.0SP1的稳定版本http://msdn.microsoft.com/en-us/data/gg577610,我在.NetFramework3.5环境(VisualStudio2008)中使用它我尝试在一个项目中使用ReactiveExtensions,发现启动速度非常慢。转到LinqPad,我输入了以下“C#表达式”:(newint[0]).ToObservable()我还引用了System.Reactive.dll并导入了System.Reactive.Linq命名空间。当我运行它时,编译和运行需要12秒。我打开Proce

c# - 使用 BlockingCollection 作为消息队列的响应式(Reactive)框架

我最近一直在使用ReactiveFramework做一些工作,到目前为止我非常喜欢它。我正在考虑用一些过滤的IObservables替换传统的轮询消息队列来清理我的服务器操作。在过去,我处理进入服务器的消息是这样的://StartspinningtheprocessmessageloopTask.Factory.StartNew(()=>{while(true){Commandcommand=m_CommandQueue.Take();ProcessMessage(command);}},TaskCreationOptions.LongRunning);这导致连续轮询线程将来自客户端的

c# - Reactive Extensions 看起来很慢——我做错了什么吗?

我正在为一个每秒需要处理数千条消息的交易平台项目评估Rx。现有平台有一个复杂的事件路由系统(多播委托(delegate))响应这些消息并进行大量后续处理。我查看了ReactiveExtensions的明显好处,但注意到它有点慢,通常慢100倍。我创建了单元测试来演示这一点,它运行一个简单的增量100万次,使用各种Rx风格和直接开箱即用的委托(delegate)“控制”测试。结果如下:Delegate-(1000000)-00:00:00.0410000Observable.Range()-(1000000)-00:00:04.8760000Subject.Subscribe()-New

c# - 说明 async/await 和 Reactive (Rx) 扩展范例之间区别的代码示例?

系统。Reactiveextensionfor.NET和newC#5.0(.NET4.5)async/await追求(或基于)futureandpromisesconstructs范式(方法)。您能否给出(*)最简单的C#代码示例来说明它们之间的区别?(*)没有I/O、互联网或数据库连接是否可能?更新:好吧,如果这个问题之前似乎已经回答了,让我重新表述一下。为什么在使用native.NET的同时添加并开始使用.NET的Reactive(Rx)扩展Iobservable/IObserver+await/async?如果没有Rx(即只使用原生.NETIobservable/IObserve

javascript - 函数式响应式(Reactive)编程 (FRP) 可以用 monad 表达吗?

我一直在阅读FunctionalReactiveProgramming,虽然我没有在任何语言中广泛使用monad,但我情不自禁地在FRP设计中无处不在看到它们。Thisquestion'sanswers对什么是函数式响应式(Reactive)编程有一些精彩的描述,我不会在这里重复。基本上,FRP会在随时间变化的值之间建立关系。那么这不能用单子(monad)表示吗?将需要随时间修改的值的代码封装在monad中,将其称为Signal,然后像这样使用这些信号(为简单起见,使用Haskelldo-notation)。domx>=liftMsin--dosomestuffwiththeseval

javascript - Reactive-Extensions/RxJS 和 ReactiveX/rxjs 有什么区别

我有点懵。这些库有什么区别?https://github.com/ReactiveX/rxjshttps://github.com/Reactive-Extensions/RxJSrx之间有什么区别?,@reactivex/rxjsrxjs在npm上。如果你搜索npm有多个rxjs库,哪个是官方的?https://www.npmjs.com/search?q=rx 最佳答案 RxJS4托管于:https://github.com/Reactive-Extensions/RxJSRxJS5(https://github.com/Rea

java - 响应式(Reactive)编程中的订阅是什么

我正在尝试学习响应式编程,但我对订阅这个词感到很困惑。什么是响应式编程中的订阅?我知道订阅时会创建一个订阅者。 最佳答案 订阅是订阅者和发布者之间的连接。基本上,发布者将为每个尝试订阅它的订阅者创建一个订阅,这个订阅将处理来自订阅者的请求。发布者作为数据的存储,订阅者从中获取数据。我建议你通过http://www.reactive-streams.org/不过,在我看来,您可以从这里开始:http://reactivex.io/documentation/observable.html这是对响应式(Reactive)数据处理的更好解