题
我正在用 C# 创建一个 Windows 服务来处理来自队列的消息。我想为操作人员提供根据消息属性在生产中划分服务的灵活性。例如,他们应该能够说一个实例处理来自客户 A 的网络订单,另一个实例处理来自客户 A 的批量订单,第三个实例处理来自客户 B 的网络订单或批量订单,等等。
我当前的解决方案是为每个客户/源组合分配单独的队列。将订单放入队列的过程必须做出正确的决定。我的 Windows 服务可以配置为从一个或多个队列中提取消息。虽然很乱,但是很有效。
解决方案
不,但你可以 窥视 进入队列并决定是否确实要使用该消息。
其他提示
使用 获取消息枚举器2() 像这样:
MessageEnumerator en = q.GetMessageEnumerator2();
while (en.MoveNext())
{
if (en.Current.Label == label)
{
string body = ((XmlDocument)en.Current.Body).OuterXml;
en.RemoveCurrent();
return body;
}
}
不隶属于 StackOverflow