Freigeben über


Verwenden des Monikers der Warteschlange

Der Warteschlangenmoniker wird verwendet, um eine komponente in der Warteschlange programmgesteuert zu aktivieren. Der Warteschlangenmoniker erfordert, dass er die Klassen-ID (CLSID) des Objekts erhält, das vom neuen Moniker direkt rechts neben dem Objekt aufgerufen werden soll. Wenn er links präfixiert ist, übergibt der neue Moniker die CLSID an den Moniker links davon.

Component Services-Verwaltungstool

Nicht anwendbar.

Visual Basic

Der GetObject-Anzeigenameparameter lautet "queue:/new:", gefolgt von der Programm-ID oder Zeichenfolgen-GUID des zu instanziierenden Serverobjekts mit oder ohne Klammern. Die folgenden Beispiele zeigen drei gültige Aktivierungen einer Komponente mit dem Warteschlangenmoniker:

  1. Set objMyQC = GetObject ("queue:/new:QCShip.Ship")
    
  2. Set objMyQC = GetObject ("queue:/new:{812DF40E-BD88-11D0-8A6D-00C04FC340EE}")
    
  3. Set objMyQC = GetObject ("queue:/new:812DF40E-BD88-11D0-8A6D-00C04FC340EE")
    

C/C++

Der CoGetObject-Anzeigenameparameter lautet "queue:/new:", gefolgt von der Programm-ID oder Zeichenfolgen-GUID des zu instanziierten Serverobjekts mit oder ohne Klammern. Die folgenden Beispiele zeigen drei gültige Aktivierungen einer Komponente mit dem Warteschlangenmoniker:

  1. hr = CoGetObject (
      L"queue:/new:QCShip.Ship",
      NULL, IID_IShip, (void**)&pShip);
    
  2. hr = CoGetObject (
      L"queue:/new:{812DF40E-BD88-11D0-8A6D-00C04FC340EE}", 
      NULL, IID_IShip, (void**)&pShip);
    
  3. hr = CoGetObject (
      L"queue:/new:812DF40E-BD88-11D0-8A6D-00C04FC340EE",
      NULL, IID_IShip, (void**)&pShip);
    

Hinweise

Der Warteschlangenmoniker akzeptiert optionale Parameter, die die Eigenschaften der an Message Queuing gesendeten Nachricht ändern. Um beispielsweise zu bewirken, dass die Message Queuing-Nachricht mit priorität 6 gesendet wird, wird die in die Warteschlange eingereihte Komponente wie folgt aktiviert:

hr = CoGetObject (
  L"queue:Priority=6,ComputerName=MyComp/new:QCShip.Ship",
  NULL, IID_IShip, (void**)&pShip);

In der folgenden Tabelle sind die Warteschlangenmonikerparameter aufgeführt, die sich auf die Zielwarteschlange auswirken.

Parameter BESCHREIBUNG
Computername
Gibt den Computernamenteil eines Message Queuing-Warteschlangenpfadnamens an. Der Pfadname der Message Queuing-Warteschlange ist als Computername<em>QueueName formatiert. Falls nicht angegeben, wird der der konfigurierten Anwendung zugeordnete Computername verwendet.
QueueName
Gibt den Namen der Message Queuing-Warteschlange an. Der Pfadname der Message Queuing-Warteschlange ist als Computername<em>QueueName formatiert. Falls nicht angegeben, wird der der konfigurierten Anwendung zugeordnete Warteschlangenname verwendet.
Um eine nicht transaktionale Warteschlange abzurufen, können Sie zuerst den Warteschlangennamen angeben und dann eine COM+-Anwendung mit demselben Namen erstellen.
PathName
Gibt den vollständigen Pfadnamen der Message Queuing-Warteschlange an. Falls nicht angegeben, wird der Message Queuing-Warteschlangenpfadname verwendet, der der konfigurierten Anwendung zugeordnet ist. Um den Zielnamen zu überschreiben, kann der Pfad in der folgenden Form für eine Message Queuing-Arbeitsgruppeninstallation angegeben werden:
Queue:PathName=ComputerName\PRIVATE$\AppName/new:Myproject.CMyClass
Hinweis: Sowohl die Programmiersprachen C als auch Microsoft Visual C++ erfordern zwei umgekehrte Schrägstriche, um einen umgekehrten Schrägstrich innerhalb von Zeichenfolgenliteralen darzustellen, z. B. chicago\payroll.
Formatname
Wenn Sie eine COM+-Anwendung als Warteschlange markieren, erstellt COM+ eine Message Queuing-Warteschlange, deren Name mit der Anwendung identisch ist. Der Name des Message Queuing-Formats dieser Warteschlange befindet sich im COM+-Katalog, der der COM+-Anwendung zugeordnet ist. Um den Zielnamen zu überschreiben, kann der Formatname in der folgenden Form für eine Message Queuing-Arbeitsgruppeninstallation angegeben werden:
Queue:FormatName=DIRECT=OS:ComputerName\PRIVATE$\AppName/new:ProgId
In einer Active Directory-Konfiguration wird "PRIVATE$" nicht als Teil des Warteschlangennamens angegeben.

Hinweis

Optionale Warteschlangenmonikerparameter werden von links nach rechts verarbeitet. Geben Sie jede Schlüsselwort (keyword) nur einmal an. Wenn Sie den PathName-Parameter angeben, werden sowohl die Parameter ComputerName als auch QueueNameersetzt. Ein bestimmter FormatName-Parameter löscht vorherige Kenntnisse der Parameter ComputerName, QueueName und PathName .

Zuordnen des Listeners für Warteschlangenkomponenten zu einer bestimmten privaten Warteschlange

Der LISTENer COM+ Queued Components empfängt nur Von Warteschlangen, die der COM+-Anwendung zugeordnet sind, die als Warteschlange markiert sind. Wenn Sie eine COM+-Anwendung als Warteschlange markieren, erstellt COM+ eine Message Queuing-Warteschlange, deren Name mit der Anwendung identisch ist. Der Name des Message Queuing-Formats dieser Warteschlange befindet sich im COM+-Katalog, der der COM+-Anwendung zugeordnet ist. Wenn die COM+-Anwendung gestartet und als Listen markiert wird, wird ein Listener im COM+-Anwendungsprozess gestartet und die Warteschlange geöffnet. In der folgenden Tabelle sind die Warteschlangenmonikerparameter aufgeführt, die sich auf die Message Queuing-Nachricht auswirken.

Parameter BESCHREIBUNG
AppSpecific
Gibt eine ganze Zahl ohne Vorzeichen an, z. B. AppSpecific=12345.
AuthLevel
Gibt die Nachrichtenauthentifizierungsebene an. Eine authentifizierte Nachricht ist digital signiert und erfordert ein Zertifikat für den Benutzer, der die Nachricht sendet. Gültige Werte:
  • MQMSG_AUTH_LEVEL_NONE,0
  • MQMSG_AUTH_LEVEL_ALWAYS,1
Bereitstellung
Gibt die Nachrichtenübermittlungsoption an. Dieser Wert wird für Transaktionswarteschlangen ignoriert. Gültige Werte:
  • MQMSG_DELIVERY_EXPRESS,0
  • MQMSG_DELIVERY_RECOVERABLE,1
EncryptAlgorithm
Gibt den Verschlüsselungsalgorithmus an, der von Message Queuing zum Verschlüsseln und Entschlüsseln der Nachricht verwendet werden soll. Gültige Werte:
  • CALG_RC2, CALG_RC4
  • Jeder ganzzahlige Wert, der für Message Queuing für eine EncryptAlgorithm akzeptabel ist.
HashAlgorithm
Gibt eine kryptografische Hashfunktion an. Gültige Werte:
  • CALG_MD2, CALG_MD4, CALG_MD5, CALG_SHA, CALG_SHA1, CALG_MAC, CALG_SSL3_SHAMD5, CALG_HMAC, CALG_TLS1PRF
  • Jeder ganzzahlige Wert, der für Message Queuing für einen HashAlgorithm akzeptabel ist.
Journal
Gibt die Nachrichtenjournaloption Message Queuing an. Gültige Werte:
  • MQMSG_JOURNAL_NONE,0
  • MQMSG_DEADLETTER,1
  • MQMSG_JOURNAL,2
Label
Gibt eine Nachrichtenbezeichnungszeichenfolge bis zu MQ_MAX_MSG_LABEL_LEN Zeichen an.
MaxTimeToReachQueue
Gibt eine maximale Zeit in Sekunden an, bis die Nachricht die Warteschlange erreicht.
Gültige Werte:
  • INFINITE
  • LONG_LIVED
  • Anzahl der Sekunden
MaxTimeToReceive
Gibt eine maximale Zeit (in Sekunden) für die Nachricht an, die von der Zielanwendung empfangen werden soll. Gültige Werte:
  • INFINITE
  • LONG_LIVED
  • Anzahl der Sekunden
Priority
Gibt eine Nachrichtenprioritätsebene innerhalb der zulässigen Message Queuing-Werte an.
Gültige Werte:
  • MQ_MIN_PRIORITY,0
  • MQ_MAX_PRIORITY,7
  • MQ_DEFAULT_PRIORITY,3
  • Zahl zwischen 0 und 7
PrivLevel
Gibt eine Datenschutzebene an, die zum Verschlüsseln von Nachrichten verwendet wird.
Gültige Werte:
  • MQMSG_PRIV_LEVEL_NONE, NONE, 0
  • MQMSG_PRIV_LEVEL_BODY, BODY,
  • MQMSG_PRIV_LEVEL_BODY_BASE, BODY_BASE, 1
  • MQMSG_PRIV_LEVEL_BODY_ENHANCED, BODY_ENHANCED, 3
Ablaufverfolgung
Gibt Ablaufverfolgungsoptionen an, die beim Ablaufverfolgungsrouting von Message Queuing verwendet werden.
Gültige Werte:
  • MQMSG_TRACE_NONE,0
  • MQMSG_SEND_ROUTE_TO_REPORT_QUEUE,1

Der vollständige Satz von COM+ Administrative SDK-Funktionen ist mithilfe von COM-Objekten verfügbar. Dadurch kann jedes Programm COM+-Anwendungen nach Bedarf starten und beenden.

Hinweis

Wenn eine COM+-Anwendung gestartet wird, ist es die Anwendung, die ausgeführt wird, nicht die einzelnen Komponenten in der Anwendung. Wenn eine Anwendung eine Komponente ohne Warteschlange aufruft, wird die COM+-Anwendung, die die Komponente enthält, gestartet. Wenn das Kontrollkästchen Listener aktiviert ist, startet auch der Listener und beginnt mit der Verarbeitung von Nachrichten für Komponenten in der Warteschlange. Während der Dienst für Komponenten in der Warteschlange auf diese Weise gestartet werden kann, sollten Sie beim Packen von Komponenten in einer Warteschlange und nicht in der Warteschlange in einer einzelnen COM+-Anwendung sicherstellen, dass Komponenten mit Warteschlange wirklich gestartet werden sollen, wenn eine Komponente ohne Warteschlange ausgeführt wird. Wenn dies nicht der Fall ist, packen Sie die Komponenten in der Warteschlange in eine COM+-Anwendung, die von den anderen Komponenten getrennt ist.

Aktivieren von Komponentenwarteschlangen