Author Archive for Kai

18
Apr

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.


04
Apr

PHP und IIS auf einem 64 Bit Windows Server 2003

Ja, ihr habt Recht. Dabei handelt es sich wahrlich, um eine seltene und evtl. auch nicht wirklich sinnvolle Kombination. Angenommen ihr habt aber eine bestehende Infrastruktur mit bereits existierenden .Net Seiten und wollt nicht auf ein auf php-basierendes CMS, wie zum Beispiel WordPress verzichten. Dann gibt es den einen oder anderen Grund, diese Kombination tatsächlich umzusetzen. Da die Einrichtung aber nicht ganz trivial ist, möchte ich an dieser Stelle etwas von meiner Erfahrung an Euch weitergeben. Das erste Problem liegt bereits in dem 64-Bit System. Seiten wie php.net bieten leider nur 32Bit-PHP Pakete an. Ihr könnt Euren IIS per Console in den 32 Bit Betrieb zwingen, doch dann gefährdet Ihr den Betrieb bestehender .Net Seiten. Diese Lösung ist also nicht akzeptabel. Eure Suche hat an dieser Stelle ein Ende. Hier ist eine
64Bit PHP-Version, die wir im Folgenden Schritt für Schritt auf einem Windows Server 2003 mit IIS einrichten wollen.

Ladet euch die beigefügte Datei herunter und entpackt sie auf Eurem Server. Legt die Dateien bspw. in den Pfad C:\php\

In einem ersten Schritt konfigurieren wir den IIS:

  1. Öffnet den IIS-Manager
  2. Rechtsklickt auf die Webdiensterweiterungen und klickt auf neue Webdiensterweiterung hinzufügen…
  3. Gebt dort die Bezeichnung “PHP: HyperText Processor” ein und wählt als erforderliche Datei die php5isapi.dll aus dem gerade erstellten Verzeichnis aus. Wählt den neuen eintrag an und klickt auf Zulassen.
  4. Euer IIS ist nun prinzipiell in der Lage php zu interpretieren

Ich gehe davon aus, das ihr bereits ein neues Web in Eurem IIS-Manager eingerichtet habt, das nun php-Skripte abarbeiten können soll. Dieses Web müsst ihr auswählen und zu den Eigenschaften wechseln. Auch hier müssen einige Modifikationen vorgenommen werden.

  1. Wechselt auf den Reiter Basisverzeichnis
  2. klickt in den Anwendungseinstellungen auf Konfiguration
  3. klickt auf Hinzufügen und wählt wiederum die php5isapi.dll aus Eurem verzeichnis C:\php aus
  4. gebt der Erweiterung den Namen .php
  5. wählt den RadioButton “begrenzen auf” aus und tragt dort “POST,HEAD,GET” analog zu vielen anderen Einträgen ein
  6. Klickt auf OK

Euer Web ist nun in der Lage mit der Extension .php korrekt umzugehen. Tragt unter Dokumente noch die “index.php” ein und bringt sie in der Hierarchie nach ganz oben.

Damit ist die Konfiguration des IIS soweit abgeschlossen.

Damit Euer System die PHP-Ressourcen kennt, sind noch einige Umgebungsvariablen zu setzen:

  1. Fügt der Variable Path Euren Pfad zum php-Paket hinzu, in diesem konkreten Fall wäre das C:\php\
  2. Fügt dem System die Umgebungsvariable PHPRC hinzu und lasst Sie ebenfalls auf diesen Pfad zeigen

Umgebungsvariablen könnt Ihr übrigens mit einem Rechtsklick auf den Arbeitsplatz unter dem Reiter “erweitert” modifizieren.

Damit ist Euer Server fertig eingerichtet. Was es nun noch zu tun gibt, ist die Konfiguration Eures PHP über die php.ini

Wechselt dazu in den Pfad C:\php und öffnet die php.ini mit einem Texteditor Eures Vertrauens :)

Auch hier sind einige Modifikationen vorzunehmen wollt ihr beispielsweise eine MySQL unterstützung haben, und davon gehe ich ja mal aus:

  1. sucht den Eintrag extension_dir und lasst ihn auf den ext Ordner zeigen, also: C:\php\ext\ oder .\ext
  2. nun sucht ihr den Eintrag extension=php_mysql.dll und nehmt das “;” am Anfang der Zeile heraus, um die Unterstützung scharf zu schalten. Tragt ausser dem noch die Zeile extension=php_mysqli.dll ein, damit zusätzliche MySQL Funktionen unterstützt werden.

Dies soll nur eine Beispielmodifikation sein, die php.ini gibt da noch eine Menge mehr her. Doch das ist schon wieder ein Thema für sich.
So, nun sollte alles korrekt funktionieren. Gebt in der Console “iisrest” ein und probt es mit einem Zugriff auf eine phpinfo.php. Evtl. müsst ihr den Server auch einmal neu starten.




September 2010
M T W T F S S
« Dec    
 12345
6789101112
13141516171819
20212223242526
27282930  

Latest Comments

Badge Farm

  • Powered by Redoable 1.0