18
Apr
07

Die Anzahl von Messages einer MSMQ – Microsoft Message Queue – mit C# .Net auslesen

Um die Anzahl der enthaltenen Messages einer MSMQ mit C# auszulesen, möchte ich Euch hier eine kleine Hilfestellung geben, da ich denke, dass es sicherlich dem Einen oder Anderen helfen wird, schneller zu einer Lösung zu kommen.

Referenziert dazu die COM Microsoft Message Queue 3.0 in Euer Projekt. Ihr findet Sie unter dem Reiter COM bei der “add Reference” -Auswahl in Eurem Studio (bspw. rechte Maustaste auf das Projekt).

Die Klasse MSMQManagementClass befindet sich nun in dem Namespace MSMQ.

In diesem Beispiel handelt es sich nur um ein Propertie innerhalb einer eigenen Klasse die eine MessageQueue als Member “this._messageQueue” vorhält. Den Rest der Klasse führe ich hier nicht auf. Das sollte so reichen.


public int QueueSize
{
get
{
try
{
object a = string.Empty;
object b = Type.Missing;
object c = @"DIRECT=OS:[ServerName]\" + this._messageQueue.QueueName; //[ServerName] austauschen!! MSMQManagementClass msgt = new MSMQManagementClass();
msgt.Init(ref a, ref b, ref c);
return msgt.MessageCount;
}
catch
{
return 0;
}
}
}

Das sollte als kleines Beispiel reichen. Die Klasse bietet nun nach Außen ein Propertie QueueSize an, mit der die Anzahl der Messages in einer MSMQ zurückgegeben wird.



April 2007
M T W T F S S
    Oct »
 1
2345678
9101112131415
16171819202122
23242526272829
30  

Badge Farm

  • Powered by Redoable 1.0



1 Response to “Die Anzahl von Messages einer MSMQ – Microsoft Message Queue – mit C# .Net auslesen”


  1. 1 Tjorsten Dec 6th, 2007 at 3:24 pm

    HI

    ich finde diese com nicht unter referenzes. kannst du mir sagen in welcher dll sich das ganze verbirgt?

    *********************************************
    Dazu gehst Du unter AdReference in den Reiter COM und suchst nach folgendem Eintrag:
    Microsoft Message Queue 3.0 Object Library.

    Solltest Du sie dort nicht finden, liegt es evtl. an Deiner Studio-Version.
    Ich benutze Studio 2005 Professional. Weiß nicht, ob es im Standard enthalten ist oder nicht.

    Vlt. kann man die Komponente auch anderweitig downloaden.
    Hoffe, das hilft Dir soweit.