Asynchronous

May 25, 2008 at 11:12 AM
Hi,

I'm having some problems with the Asynchronous()-method. First of all, it isn't an extension of IEnumerable<> as your videos and intellisense say, but instead it extends the IBindableCollection<>. Is this an error in the documentation or the code?
The other problem is, that when I use it in the way I can ( source.AsBindable().Where(...).Asynchronous() ) it throws an InvalidOperationException in the where iterator, because another thread owns the object. Any ideas how to fix this problem?
I'd also like to point out that there are SyncLINQ references in the xml documentation, for example in the summary of Asynchronous()

Coordinator
Jun 2, 2008 at 10:00 AM
Hi there,

>> First of all, it isn't an extension of IEnumerable<> as your videos and intellisense say, but instead it extends the IBindableCollection<>

That is correct. In my original videos, Asynchronous was both an adapter as well as an iterator. It has been simplified so that one must always call AsBindable(). You should be able to make it work by calling AsBindable().Asynchronous().

>> The other problem is, that when I use it in the way I can ( source.AsBindable().Where(...).Asynchronous() ) it throws an InvalidOperationException in the where iterator, because another thread owns the object. Any ideas how to fix this problem?

This was a temporary problem introduced when Silverlight support was added. The most recent checkins should have fixed this problem.

>> I'd also like to point out that there are SyncLINQ references in the xml documentation, for example in the summary of Asynchronous()

Thanks, I'll take a look through them and remove any SyncLINQ references! :)

Paul