的处置时访问当前的窗口,我有以下代码:订阅
var observable = ... subscribe to event here ...
var windows = observable.Window(TimeSpan.FromSeconds(240));
aggregatedWindows = windows.SelectMany(
window => window.Aggregate(new Context(), AggregateContext));
subscription = aggregatedWindows.Subscribe(OnWindow);
... later
subscription.Dispose();
试想一个场景,当我在处理窗口,有人已要求我的应用程序应该关闭的中间。我要处置这个订阅,这将停止正在处理的事件,但是我也将失去最后一个窗口的信息。
我不知道什么是最好的方式来处理,这是...
,因为它是通过聚合函数传递我可以存储本地状态与上看到窗口(但这似乎是错误的)。 ..
任何帮助将不胜感激!
我很困惑如何解决这个问题。看起来DeferDisconnection在处理之前会稍微等一下,但是如果窗口很大,这会导致应用等待很长时间才能关闭。那是对的吗? – jonnii
@jonnii这就是为什么有一个超时参数 - 它在下一个值到达时断开,或者它需要太长时间,这是超时参数。 – Asti