title: BlockingCollection ToObservable with Subscribe using Reactive Extensions
body: <p>I have few producers who will keeping filling into a <code>BlockingCollection</code> with bounded capacity of 200. I am using Reactive Extensions and calling an async method below like this, and I wanted to know if this is the correct way of implementing it (will there be any performance / concurrency issue of using <code>GetConsumingEnumerable</code> as every subscriber will get individual subscriber). I have used <code>FromAsync</code> as to avoid calling async on subscriber based on other documentation on GitHub. <code>userActivites</code> is a <code>BlockingCollection</code>. This code runs on a background thread for ASP.NET Web REST API. FYI we are using BlockingCollection as being multi threaded we wanted to make sure that subscribe on order the way it receives the data and using FromAsync based on [Github](
  <a href="https://github.com/dotnet/reactive/issues/459" rel="nofollow noreferrer">https://github.com/dotnet/reactive/issues/459</a>) issue. </p>
  
  <pre><code>IObservable&lt;EventData&gt; eventObservable = userActivites.
      GetConsumingEnumerable().
      ToObservable(TaskPoolScheduler.Default);
  
  eventObservable.Select(number =&gt; Observable.FromAsync(async () =&gt;
      await SendDataToEventHubWithBatchAsync(number))).Concat().Subscribe();
  </code></pre>