title: Transactional send and receive
body: <p>Is it possible to perform a receive from one queue, and send to another within the same transaction? e.g.:</p>
  
  <pre><code>using (var tx = new TransactionScope())
  {
      var inMsg = recv.Receive();
      var val = msg.GetBody&lt;int&gt;();
      var outMsg = new BrokeredMessage(val + 1);
      sender.Send(outMsg);
      inMsg.Complete();
  
      tx.Complete();
  }
  </code></pre>
  
  <p>The above appears to give me an exception suggesting it isn't possible:</p>
  
  <blockquote>
    <p>"The Transaction may have timed out or attempted to span multiple top-level entities such as Queue or Topic."</p>
  </blockquote>
  
  <p>But surely this is a very common requirement? Is there a way around this?</p>
  
  <p>(This is using Service Bus for Windows Server, if that makes a difference)</p>