system.reactive相关内容

来自任务函数的无限 IObservable 和切换 observable

我有两件事:返回 Task 的函数query 和 IObservable切换.我想要创建的是 IObservable,当 toggle 获得 true 时,它会启动一个无限循环,调用 query 每次都返回它的结果.然后,当切换得到 false 时,它应该停止无限循环. 我确实阅读了如何从任务中创建无限循环,但我不知道如何打开和关闭toggle.此外,它不能在无限循环中运行 query 并对 ..
发布时间:2021-11-24 10:40:04 C#/.NET

IObserver 和 IObservable 在 C# 中用于观察者与委托、事件

我要做的就是实现观察者模式. 所以,我想出了这个解决方案: 我们有一个 PoliceHeadQuarters,其主要工作是向所有订阅它的人发送通知.假设 DSP、Inspector 和 SubInspector 类订阅了 PoliceHeadQuarters. 使用我写的事件和委托 公共类 HeadQuarters{公共委托 void NewDelegate(object se ..
发布时间:2021-11-24 09:25:44 C#/.NET

如何避免处理 SubscriberSocket

这个实现很糟糕,因为它会在第一个订阅终止时disposeSubscriberSocket.当我运行它时,似乎没有任何发布.[这里使用 Rx 3.0.0] 如何修改Receive函数来解决这个问题? 使用系统;使用 System.Threading;使用 System.Threading.Tasks;使用 System.Collections.Generic;使用 NetMQ;使用 NetM ..
发布时间:2021-09-04 18:40:18 其他开发

如何创建一个既是 Task<T> 的类?和IObservable ? T ?

最近我遇到了一种情况,将异步操作同时表示为 Task 和 IObservable 将是有利的.任务表示维护操作的状态(IsCompleted、IsFaulted 等),而可观察的表示允许以有趣的方式组合多个操作(Concatcode>、Merge、Switch 等),自动处理取消任何沿途已取消订阅的操作,解决这种方式的fire-and-forgotten asynchronous问题操作.所以我对 ..
发布时间:2021-09-04 18:40:15 C#/.NET

Observable.Interval 未以预期频率更新 UI

我正在尝试模拟时钟的行为.为此,我创建了一个 Observable.Interval,它会在指定的时间间隔后以相同的时间更新属性的值.该值与 GUI 数据绑定. 问题是:“时钟"的运行速度比预期的要慢,即时钟值增加一秒需要一秒以上的时间. 所需的时间分辨率越精细(下面的 MILLIS_INTERVAL 的值),问题就越严重(我用 1、10、100 和其他 1000 的约数对其进行了测试 ..
发布时间:2021-09-04 18:40:09 C#/.NET

动态定时器可观察

我面临一个与如何创建动态“计时器"可观察对象相关的问题. 我的意思是,我需要执行一个函数,并根据它返回的值(表示秒数的整数),在这些秒过去后我需要调用相同的函数.所以,我想我需要根据另一个新值秒重新安排可观察对象. 我试图在那里找到一些东西,但我一直无法弄清楚我需要做什么. 有什么想法吗? 解决方案 使用 Observable.Generate.试试这个例子: void ..
发布时间:2021-09-04 18:40:06 C#/.NET

反应式:使用 observables 刷新 AccessToken

我不太清楚如何适应这种方法生成动态计时器可观察对象. 具体来说,我有两种方法: GetAccessToken() RefreshAccessToken() 两者都返回一个 OAuth2AccessTokenResponse: 公共类 OAuth2AccessTokenResponse{私有字符串令牌类型;私有字符串访问令牌;私人 int expiresIn;私有字符串 ref ..
发布时间:2021-09-04 18:40:03 C#/.NET

将 IObservable 传递给构造函数 - 好主意?

我阅读了评论这个关于如何使用 IObservable 的网站说.. 作为一般规则(指南),我强烈建议不要将 IObservable 作为方法的参数.明显的警告是,如果该方法是一个新的 Rx 运算符,例如Select、MySpecialBuffer、Debounce 等 所以我一直在尝试将这个建议应用到我的代码中,并不断遇到打破这个规则似乎很方便的情况.看看下面的代码并比较PersonS ..
发布时间:2021-09-04 18:40:00 其他开发

Reactive.NET 条件限制

有没有办法有条件的油门. 我有一个类,它有一个带有 2 个参数的事件(控制发送者,字符串文本).我想在我的 Rx 代码中使用这个事件,并使用限制.唯一的问题是我想限制文本,只针对同一个发件人. 因此,如果发件人 = textbox1,则限制 300 秒,但是如果发件人更改,则忽略限制并将事件发送到链中. sender=textbox1, text = 'm' 300 秒内(忽略) ..
发布时间:2021-09-04 18:39:57 C#/.NET

在计时器上生成事件时在值之间切换

我正在尝试在 XNA 概念验证中使用 Rx,并且在编写一些查询时遇到了一些障碍,我希望你们能帮助我理解其中一些问题操作员工作. 在我的 POC 中,我希望玩家的分数仅在没有发生主动拖动操作时增加.此外,还有一个“抓斗",我想在有持续阻力时消耗它,并在没有阻力时填充.最后,如果正在进行拖动操作并且抓取仪表降至 0 以下,我想取消拖动操作. 我的分数递增工作得很好: IObservab ..
发布时间:2021-09-04 18:39:54 其他开发

使用 Rx 轮询网站

只是想了解一下 Rx 我每 2 秒使用 Rx 轮询一次网站 var results = new List();var cx = new WebserviceAPI( ... );var callback = cx.GetDataAsync().Subscribe(rs => { results.AddRange(rs); });var poller = Observable.Interva ..
发布时间:2021-09-04 18:39:52 C#/.NET

创建 observable 并仅在事件之间使用

想象以下场景: 我有这个事件: 登录后 退出前 在登录后,我还有其他事件,基于可用的新/其他对象.. 当用户登录时,我需要创建一个新订阅并订阅或处理它(使用其他事件). 当用户注销时,我需要处理这些订阅并再次等待 AfterLogin 它非常类似于:值与 Rx 之间 很大的区别是需要一个“工厂"来创建订阅并在以后处理更多,我一开始听不到源. 我该如何处理? ..
发布时间:2021-09-04 18:39:46 C#/.NET

如何将 IGroupedObservable 转换为 IGrouping?

我有一个可观察的元素序列,这些元素具有 char Key 属性,其值范围从 'A' 到 'E'.我想根据这个键对这些元素进行分组.对它们进行分组后,我希望通过一组可观察到的结果来显示结果,以便我可以分别处理每个组.我的问题是我找不到一种很好的方法来保存最终可观察对象中每个组的键.这是我正在尝试做的一个例子: var observable = Observable.Interval(TimeSpa ..
发布时间:2021-09-04 18:39:43 C#/.NET

具有流大小而不是流数的缓冲区反应扩展 C#

我有一个 Producer() 将数据推送到 blocking 集合. 在 Consumer() 中,我使用 System.Reactive (4.1.2). 我正在使用 Buffer,但只能缓冲多个流. 问题 - 我可以将 buffer 运算符用于流的大小而不是流的数量吗? 当缓冲区大小超过(例如 1024 KB 或 1 MB)时,创建新缓冲区? 类程序{私有静态只读 Blo ..
发布时间:2021-09-04 18:39:40 C#/.NET

如何使`Defer`ed observable 只订阅第一个订阅者?

鉴于此伪代码,我想要做的是确保如果我有多个订阅者,我不会通过对每个订阅者进行额外轮询来使我的 remote 源饱和. IObservableRemoteObservable(远程远程){var onceonly = Observable.FromAsyncPattern(remote.Begin, remote.End);return Observable.Defer(() => onceonl ..
发布时间:2021-09-04 18:39:33 C#/.NET

把一个方法调用变成一个可观察的事件,好主意吗?

我正在学习如何将 IObservable 合并到我的代码中.下面是用于从 IObservable 打印出最新单词的简单类的两种不同方法.哪种方法更清洁?我不喜欢 WordPrinterWithCache,因为它引入了额外的状态(_lastWord)变量,并且有趣的代码现在分散在整个类中.我更喜欢 WordPrinterWithExtraSubject 因为有趣的代码本地化到构造函数.但大多数情况下 ..
发布时间:2021-09-04 18:39:30 其他开发

Reactive Extensions 是否评估了太多次?

Reactive Extensions 应该评估它的各种操作符多少次? 我有以下测试代码: var seconds = Observable.Interval(TimeSpan.FromSeconds(5)).Do(_ => Console.WriteLine("{0} 生成的数据", DateTime.Now.ToLongTimeString()));var split = 秒.Do(_ ..
发布时间:2021-09-04 18:39:28 C#/.NET