<div dir="rtl"><br><div style="direction:ltr">Thanks on the reply.</div><div style="direction:ltr"><br></div><div style="direction:ltr">Can you please give me link to example of rabbitmq transaction?</div><br><div class="gmail_quote">

<div dir="ltr">2013/2/27 Emile Joubert <span dir="ltr">&lt;<a href="mailto:emile@rabbitmq.com" target="_blank">emile@rabbitmq.com</a>&gt;</span></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<br>
Hi,<br>
<br>
On 27/02/13 13:25, Hadas wrote:<br>
&gt; I try to use transaction in wcf by adding<br>
&gt; &quot;[OperationBehavior(TransactionScopeRequired = true)]&quot; to functions in<br>
&gt; my interface.<br>
&gt; What I can see is that when an error happens the message return to the<br>
&gt; queue, but only once. That means if an error occurs second time the<br>
&gt; message is lost.<br>
&gt;<br>
&gt; Do I miss something or what I need to change in order to retry till no<br>
&gt; error occurs?<br>
<br>
<br>
I confess ignorance about how transactions work in WCF, so I&#39;m not<br>
entirely sure whether they are designed to prevent message-loss in the<br>
way that you expect. My reading of RabbitMQInputChannel.Receive() in the<br>
RabbitMQ WCF binding is that messages are acknowledged immediately after<br>
being decoded and will therefore not be available from the broker after<br>
that point if the transaction needs to roll back.<br>
<br>
It is possible to deliver messages to clients with &quot;at-least-once&quot;<br>
guarantees by using the .net client library and making use of<br>
acknowledgements and durability. The 2nd tutorial contains a relevant<br>
discussion.<br>
<span><font color="#888888"><br>
<br>
<br>
<br>
-Emile<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
</font></span></blockquote></div><br></div>