我在工作的Silverlight應用程序中遇到了一種絕對的離奇行爲。請看下面的代碼:ReplaySubject.First()意外阻止
var replaySubject = new ReplaySubject<string>(1);
replaySubject.OnNext("This can never block... surely?");
var s = replaySubject.First();
Debug.WriteLine(s);
基本上,我的應用程序來穿越這片重複的代碼,它總是打印出的消息......除了在一個特定的場景,在其中,First()
行的線程塊。
它始終在UI線程上。如果我用First()
在行上設置了一個斷點,並用調試器鑽取到replaySubject
,我可以在其隊列中看到該字符串。
任何人都可以想到任何會導致First()
調用阻止在這裏的場景嗎?
BTW:這是RX版本1.1.11111
@Profrofo EGY - 感謝您將代碼關鍵字放入代碼塊中。 但是,我不知道爲什麼你應該將「我」改寫成「我是」 - 是否有一些使用收縮的政策? 另外,我是英語,所以行爲在這裏拼寫爲「U」。希望你不介意。 –
完全沒有問題!沒有單詞拼寫的政策,我只是想讓問題更加正式。我希望我沒有給你造成任何不便。祝你有個美好的一天:) –