的處置時訪問當前的窗口,我有以下代碼:訂閱
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