I can see messages in poison queue but they get purged after some time. I am not sure how this is happening.
How can I keep them in poison queue and then manually delete them?
This is my netMsmqBinding in WCF service:
<-netMsmqBinding
<-binding name="MsmqBindingNonTransactionalNoSecurity" exactlyOnce="true" maxReceivedMessageSize="2147483647"
closeTimeout="00:10:00" openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00"
receiveRetryCount="5"
maxRetryCycles="1"
retryCycleDelay="00:00:20"
receiveErrorHandling="Move">
<-readerQuotas maxStringContentLength="2147483647" maxArrayLength="2147483647" maxNameTableCharCount="2147483647" />
<-security mode="None"/>
<-/binding>
<-/netMsmqBinding>
Look at timeToLive attribute here
Basically, the default is one day and the message will be discarded if it sits in a queue for longer than a day.