Search code examples
.netwcfmultithreadingmsmqconsumer

WCF MSMQ consumer thread count


What's the best way to configure the maximum number of threads that can pull messages from an MSMQ queue, using a netMsmqBinding in WCF?

For example, say I have an MSMQ service for which I only want to have 2 (or 10, or whatever number of) worker threads pulling messages off at a time.


Solution

  • You need Service Throttling

    <behaviors>
     <serviceBehaviors>
      <behavior name="DefaultThrottlingBehavior">
       <serviceThrottling maxConcurrentCalls="2" />
      </behavior>
     </serviceBehaviors>
    </behaviors>