C# 观察Rx中的缓冲和组输入
我有一个主题C# 观察Rx中的缓冲和组输入,c#,system.reactive,C#,System.reactive,我有一个主题 public ISubject<Price> PriceTicksSubject { get; } 我想要的是能够在五秒钟内将所有缓冲和分组的项作为单个ienumerable发送给客户端。但是,上面的代码每五秒钟调用SendToClient的次数是键数的倍数 有没有关于如何解决此问题的指针?在onNext操作中对缓冲结果进行分组: void DoSubscribe() { PriceTicksSubject.Buffer(TimeSpan.FromMi
public ISubject<Price> PriceTicksSubject { get; }
我想要的是能够在五秒钟内将所有缓冲和分组的项作为单个ienumerable发送给客户端。但是,上面的代码每五秒钟调用SendToClient的次数是键数的倍数
有没有关于如何解决此问题的指针?在onNext操作中对缓冲结果进行分组:
void DoSubscribe()
{
PriceTicksSubject.Buffer(TimeSpan.FromMilliseconds(5000)).
Select(buffer => buffer.GroupBy(tick => tick.Key, (key, res) => res.Last())).
ObserveOn(NewThreadScheduler.Default).Subscribe(x=>
SendtoClients(x));
}
void DoSubscribe()
{
PriceTicksSubject.Buffer(TimeSpan.FromMilliseconds(5000))
.ObserveOn(NewThreadScheduler.Default)
.Subscribe(bufferedPrices =>
{
SendtoClients(bufferedPrices.GroupBy(x => x.Key).Select(g => g.Last()).ToArray());
});
}