私が作業している Silverlight アプリケーションで、非常に奇妙な動作が発生しています。次のコードを参照してください。
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()
ここで呼び出しがブロックされるシナリオを考えられる人はいますか?
ところで: それは RX バージョン 1.1.11111 です