I have a WCF program that is being communicated with via MSMQ. For some reason several messages are being processed multiple times for no apparent reason. No errors are being thrown and I've confirmed that the application enters and exits the operationBehaivior without any errors being thrown.
For example, I'll send 1 message via MSMQ, the app will receive it and successfully process it, then for some reason reprocess it again (sometimes multiple times, sometimes no reprocessing)
Here are the relevant behavior's and contracts being defined:
[ServiceContract]
public interface IApp
{
[OperationContract(IsOneWay = true)]
void ProcessMessage(List<AppData> appInfo);
}
[ServiceBehavior(InstanceContextMode=InstanceContextMode.Single)]
public class ProcessInfo : IApp
{
[OperationBehavior(TransactionScopeRequired = true, TransactionAutoComplete = true)]
public void ProcessMessage(List<AppData> appInfo)
{
try
{
app logic
}
catch(Exception e)
{
}
}
It looks as though the MSMQ messages that are processed multiple times have an aborted count > 0 or are put in the retry queue, however, I never receive an error as to why this happens.
Any idea as to why this would happen would be much appreciated.