5

我正在用 C# 创建一个处理来自队列的消息的 Windows 服务。我想为操作人员提供根据消息属性在生产中划分服务的灵活性。例如,他们应该能够说一个实例处理来自客户 A 的 Web 订单,另一个实例处理来自客户 A 的批量订单,第三个实例处理来自客户 B 的 Web 或批量订单,等等。

我当前的解决方案是为每个客户\来源组合分配单独的队列。将订单放入队列的过程必须做出正确的决定。我的 Windows 服务可以配置为从一个或多个队列中提取消息。这很混乱,但它有效。

4

2 回答 2

5

不,但是您可以窥视队列并决定您是否真的要使用该消息。

于 2008-09-15T16:02:41.853 回答
3

像这样使用GetMessageEnumerator2()

MessageEnumerator en = q.GetMessageEnumerator2();

while (en.MoveNext())
{
    if (en.Current.Label == label)
    {
        string body = ((XmlDocument)en.Current.Body).OuterXml;
        en.RemoveCurrent();
        return body;
    }
}
于 2010-01-25T15:31:51.427 回答