Question

MSDN Thread

Hi, all.

First of all, please excuse any english language mistakes in the following description, because, I'm not a native speaker and well, I can't write it perfectly.

I'm trying to create a .NET (4.0) service for remote/transactional/asynchronous reception of recoverable messages from several queues. So, first, I use BeginPeek method and then Receive method in a TransactionScope (which implicitly uses MSDTC).

The problem is the mqsvc.exe of the host machine (win7/2k8r2 sp1) running my service, which does nothing else (and certainly nothing related to the reception/hosting of messages, MSMQ is empty and clean). mqsvc.exe memory allocation grows and it never releases any memory. All MSMQ registry keys about cache cleaning interval have a short time value (about 1 minute).

I tried several options :

  • with local and remote MSDTC (remote with obviously the host machine of messages).
  • with the COM library mqoa.dll instead of .NET to use explicit MSDTC transactions for MSMQ.
  • with several different machines (all win7/2k8r2 sp1).

There are no exceptions at the execution of my service, and all resources that I can close or/and dispose are closed/disposed as soon as possible. The memory allocation of my service is stable.

In all cases, it's the same problem. How to solve it?

Thanks in advance.

Vincent.

Was it helpful?

Solution

Problem solved on MSDN.

MSDN Thread

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top