我如何清除ReplaySubject上的缓冲区?

问题描述 投票:14回答:3

如何清除ReplaySubject上的缓冲区?

[我定期需要清除缓冲区(对于我来说,是一天结束的事件),以防止ReplaySubject持续增长并最终耗尽所有内存。

理想情况下,我希望保持相同的ReplaySubject,因为客户端订阅仍然很好。

谢谢。

c# system.reactive
3个回答
13
投票

ReplaySubject没有提供清除缓冲区的方法,但是有一些重载以不同的方式约束其缓冲区:


0
投票
[您可能已经有可观察的数据源,在这种情况下,这是另一种解决方案。这是使用现有RX结构的组合,而不是构建我个人非常警惕的自己的ISubject。

0
投票
[我不了解c#,但是我设法通过重放主题rxdart完成它。至于replaysubject,它使用队列来缓存事件,所以我修改了replaysubject类。
© www.soinside.com 2019 - 2024. All rights reserved.