Posso filtrare i messaggi che ricevo da un message queue (MSMQ) da parte di una proprietà?(un.k.un.argomento)

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

  •  09-06-2019
  •  | 
  •  

Domanda

Io sono la creazione di un Servizio di Windows in C# che elabora i messaggi da una coda.Voglio dare ops la flessibilità di partizionamento del servizio in fase di produzione secondo le proprietà del messaggio.Per esempio, essi dovrebbero essere in grado di dire che una istanza processi di web di ordini da parte del Cliente di Un altro batch di ordini da Cliente, un terzo di web o di un batch di ordini da parte del Cliente B, e così via.

La mia soluzione attuale è quello di assegnare code separate per ogni cliente\combinazione d'origine.Il processo che mette gli ordini nelle code deve prendere la decisione giusta.Il mio Servizio di Windows può essere configurato per tirare i messaggi da una o più code.E ' disordinato, ma funziona.

È stato utile?

Soluzione

No, ma è possibile PEEK in coda, e decidere se si vuole veramente per consumare il messaggio.

Altri suggerimenti

Utilizzare GetMessageEnumerator2() come questa:

MessageEnumerator en = q.GetMessageEnumerator2();

while (en.MoveNext())
{
    if (en.Current.Label == label)
    {
        string body = ((XmlDocument)en.Current.Body).OuterXml;
        en.RemoveCurrent();
        return body;
    }
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top