【问题标题】:How can I change the priority of a message in MSMQ?如何更改 MSMQ 中消息的优先级?
【发布时间】:2012-01-03 01:21:11
【问题描述】:

我在更改提交到定义的 MSMQ 的消息的优先级时遇到问题。 每当我设置消息优先级时,它似乎永远不会影响队列中消息的优先级 这是我正在做的一个片段:

static public void QueueBatchItem(MessageQueue mq, MessageQueueTransaction msgTx, MessagePriority msgPriority)
{
    using (System.Messaging.Message mm = new System.Messaging.Message())
    {
        string messageLabel = Guid.NewGuid().ToString();
        System.Messaging.XmlMessageFormatter formatter = new XmlMessageFormatter();

        RunSimulationRequestDTO dto = new RunSimulationRequestDTO();
        dto.RetryCount = 0;
        dto.BatchHeaderID = batchID;
        dto.MSMQLabel = messageLabel;

        mq.MessageReadPropertyFilter.Priority = true;
        mm.Priority = msgPriority;

        mm.Body = dto;
        mm.Label = messageLabel;
        mm.Formatter = formatter;
        mq.Send(mm, msgTx);

    }
}

如果我通过代码进行调试,默认优先级为“正常”,当项目发送到队列时,优先级显示为 0,并带有“队列消息”。我可以将优先级作为 MessagePriority.High 或 8 个可能值中的任何一个传递,它永远不会改变优先级。

我在这方面遗漏了什么...

Message mm = new Message();
mm.Priority = MessagePriority.High;

我什至用 MSDN 示例在我的主代码之外尝试了一些小测试应用程序,优先级数字从未改变。

谢谢。

编辑: 我通过将其设置为 AboveNormal 来确保我看到的优先级不是来自线程

  <ThreadManagersConfiguration DefaultSleepBetweenPolls="5000" DefaultMsmqServer=".">
    <ThreadManagers>
      <add DisplayName="BatchSimulationManager" 
           RequestMSMQ=".\Private$\BatchSimulationRequest" 
           ResponseMSMQ="" 
           FailedMSMQ=".\Private$\BatchSimulationFailure" 
           Priority="AboveNormal" 
           TransactionalMode="RollbackTransaction" 
           MaxThreads="16" 
           SleepTimeBetweenPolling="10000" 
           ProcessModel="BATCH"/>
    </ThreadManagers>
  </ThreadManagersConfiguration>

【问题讨论】:

  • 这是您的应用程序私有的队列吗?
  • 你看的肯定是消息优先级,而不是队列优先级,默认值为0

标签: c# msmq


【解决方案1】:

【讨论】:

  • 谢谢。我从未将问题与消息/队列类型相关联。应用程序不能像非事务性那样工作,所以我想我需要找到另一种方法来做我需要做的事情。
猜你喜欢
  • 2010-11-21
  • 2010-11-05
  • 1970-01-01
  • 2015-02-11
  • 2018-11-20
  • 1970-01-01
  • 2012-05-31
  • 2012-02-24
  • 1970-01-01
相关资源
最近更新 更多