c# - Rx: Throttling subscription in Xamarin.Droid project throws missing field 'Ignore' exception from Reactive.Stubs -
i've been looking rx issue several days , keep drawing blank hoping might ring somebody. same subscription works fine when not throttled throttle added (as below) exception thrown. totally reproducible. ideas 'ignore' why can't found?
_locationmanager.locationchanged.throttle (timespan.fromseconds (10)).subscribe (locationhandle); {system.missingfieldexception: field 'system.reactive.stubs`1[system.object].ignore' not found. @ system.reactive.disposables.compositedisposable.dispose () [0x00000] in <filename unknown>:0 @ system.reactive.disposables.singleassignmentdisposable.dispose () [0x00000] in <filename unknown>:0 @ system.reactive.disposables.serialdisposable.set_disposable (idisposable value) [0x00000] in <filename unknown>:0 @ system.reactive.linq.observαble.throttle`1+_[android.locations.location].onnext (android.locations.location value) [0x00000] in <filename unknown>:0 @ system.reactive.subjects.subject`1[android.locations.location].onnext (android.locations.location value) [0x00000] in <filename unknown>:0 @ rdf.locationmanager.registernewlocation (android.locations.location location) [0x00009] in /users/xxx/rdf/rdf/location/rdflocationmanager.cs:61 } static members: non-public members: data: count=0 hresult: -2146233071 helplink: (null) innerexception: (null) message (system.exception): "cannot access class member." message (system.missingmemberexception): "member system.reactive.stubs`1[system.object].ignore not found." message (system.missingfieldexception): "field 'system.reactive.stubs`1[system.object].ignore' not found." source: "system.reactive.core" stacktrace: " @ system.reactive.disposables.compositedisposable.dispose () [0x00000] in <filename unknown>:0 \n @ system.reactive.disposables.singleassignmentdisposable.dispose () [0x00000] in <filename unknown>:0 \n @ system.reactive.disposables.serialdisposable.set_disposable (idisposable value) [0x00000] in <filename unknown>:0 \n @ system.reactive.linq.observαble.throttle`1+_[android.locations.location].onnext (android.locations.location value) [0x00000] in <filename unknown>:0 \n @ system.reactive.subjects.subject`1[android.locations.location].onnext (android.locations.location value) [0x00000] in <filename unknown>:0
turns out observable.throttle() not method looking for. throttle() ignores subsequent messages until elapsed time has expired. subtly different observable.sample() turned out looking for, sample rapid sequence slower one. effect of using throttle() in manner did sequence never started.
Comments
Post a Comment