Могу ли я фильтровать сообщения, которые я получаю из очереди сообщений (MSMQ), по какому-либо свойству?(он же.тема)

StackOverflow https://stackoverflow.com/questions/64204

  •  09-06-2019
  •  | 
  •  

Вопрос

Я создаю службу Windows на C #, которая обрабатывает сообщения из очереди.Я хочу предоставить операторам гибкость при разделении службы в рабочей среде в соответствии со свойствами сообщения.Например, они должны быть в состоянии сказать, что один экземпляр обрабатывает веб-заказы от Клиента A, другой пакетные заказы от Клиента A, третий веб-или пакетные заказы от Клиента B и так далее.

Мое текущее решение заключается в назначении отдельных очередей для каждой комбинации клиент \ источник.Процесс, который ставит заказы в очередь, должен принимать правильное решение.Моя служба Windows может быть настроена на получение сообщений из одной или нескольких очередей.Это грязно, но это работает.

Это было полезно?

Решение

Нет, но ты можешь ЗАГЛЯНУТЬ встаньте в очередь и решите, действительно ли вы хотите использовать это сообщение.

Другие советы

Использование GetMessageEnumerator2() вот так:

MessageEnumerator en = q.GetMessageEnumerator2();

while (en.MoveNext())
{
    if (en.Current.Label == label)
    {
        string body = ((XmlDocument)en.Current.Body).OuterXml;
        en.RemoveCurrent();
        return body;
    }
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top