Я работал над проверкой концепции, используя WCF и MSMQ.Я играл с настройками газа, используя настройки по умолчанию Эта статья , а также добавлял свои собственные настройки в файл конфигурации.У меня есть 2 процессора Quad Core Xeon под этим приложением.Независимо от того, какие настройки я применяю, всегда отображается только 8 сообщений одновременно (что соответствует моим процессорам).Я хочу, чтобы каждое из сообщений было обработано в одной транзакции, чтобы это могло быть частью проблемы ... не уверен.Я предположил, что он будет обрабатывать гораздо больше сообщений одновременно, чем это.
Поведение службы:
[ServiceBehavior(UseSynchronizationContext = true,
ReleaseServiceInstanceOnTransactionComplete=true,
ConcurrencyMode = ConcurrencyMode.Single,
InstanceContextMode = InstanceContextMode.PerCall)]
Поведение конечной точки:
<endpointBehaviors>
<behavior name="endpointBehavior">
<transactedBatching maxBatchSize="1" />
</behavior>
</endpointBehaviors>
Мое собственное регулирование службы:
<serviceThrottling maxConcurrentCalls="128" maxConcurrentSessions="800" />
Я что-то пропускаю?Может быть, я просто не до конца понимаю стандартные / настраиваемые настройки газа (вероятно).
РЕДАКТИРОВАТЬ
Я изменил режим ConcurrencyMode (изменен на несколько) вместе с параметром ReleaseServiceInstanceOnTransactionComplete.Похоже, что изменение на несколько не изменило ничего?
РЕДАКТИРОВАТЬ Возможно, это настройка TransactionBatch?У меня есть один набор ...?
Спасибо,
S