title: How do I link multiple target blocks with a source block in TPL Dataflow?
body: <p>I expected the following to produce output from both publishers, but it only produces output from the first one:</p>
  
  <pre><code>var broadcastBlock = new BroadcastBlock&lt;int&gt;(null);
  var transformBlock = new TransformBlock&lt;int, int&gt;(i =&gt; i*10);
  var publish1 = new ActionBlock&lt;int&gt;(i =&gt; Console.WriteLine("Publisher 1:" + i));
  var publish2 = new ActionBlock&lt;int&gt;(i =&gt; Console.WriteLine("Publisher 2:" + i));
  
  broadcastBlock.LinkTo(transformBlock, new DataflowLinkOptions() { PropagateCompletion = true });
  transformBlock.LinkTo(publish1, new DataflowLinkOptions() { PropagateCompletion = true });
  transformBlock.LinkTo(publish2, new DataflowLinkOptions() { PropagateCompletion = true });
  
  foreach (var i in Enumerable.Range(0, 5))
  {
      broadcastBlock.Post(i);
  }
  broadcastBlock.Complete();
  Task.WhenAll(publish1.Completion, publish2.Completion).Wait();
  </code></pre>
  
  <p>I'm obviously missing something fundamental here, any ideas?</p>