Partager via


Utilisation de la file d’attente Moniker

Le moniker de file d’attente est utilisé pour activer un composant mis en file d’attente par programme. Le moniker de file d’attente exige qu’il reçoive l’ID de classe (CLSID) de l’objet à appeler à partir du nouveau moniker directement à droite de celui-ci. Lorsqu’il est préfixé à gauche, le nouveau moniker transmet le CLSID au moniker à gauche de celui-ci.

Outil d’administration des services de composants

Non applicable.

Visual Basic

Le paramètre de nom d’affichage GetObject est « queue:/new: », suivi de l’ID du programme ou du GUID de forme de chaîne, avec ou sans accolades, de l’objet serveur à instancier. Les exemples suivants montrent trois activations valides d’un composant avec le moniker de file d’attente :

  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++

Le paramètre de nom d’affichage CoGetObject est « queue:/new: », suivi de l’ID du programme ou du GUID de forme de chaîne, avec ou sans accolades, de l’objet serveur à instancier. Les exemples suivants montrent trois activations valides d’un composant avec le moniker de file d’attente :

  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);
    

Remarques

Le moniker de file d’attente accepte les paramètres facultatifs qui modifient les propriétés du message envoyé à Message Queuing. Par exemple, pour que le message Message Queuing soit envoyé avec une priorité 6, le composant mis en file d’attente est activé comme suit :

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

Le tableau suivant répertorie les paramètres de moniker de file d’attente qui affectent la file d’attente de destination.

Paramètre Description
ComputerName
Spécifie la partie nom de l’ordinateur d’un nom de chemin de file d’attente Message Queuing. Le nom du chemin de la file d’attente Message Queuing est au format ComputerName<em>QueueName. S’il n’est pas spécifié, le nom de l’ordinateur associé à l’application configurée est utilisé.
QueueName
Spécifie le nom de la file d’attente Message Queuing. Le nom du chemin de la file d’attente Message Queuing est au format ComputerName<em>QueueName. S’il n’est pas spécifié, le nom de file d’attente associé à l’application configurée est utilisé.
Pour obtenir une file d’attente non transactionnelle, vous pouvez d’abord spécifier le nom de la file d’attente, puis créer une application COM+ du même nom.
PathName
Spécifie le nom complet du chemin de file d’attente Message Queuing. S’il n’est pas spécifié, le nom du chemin de file d’attente Message Queuing associé à l’application configurée est utilisé. Pour remplacer le nom de destination, le chemin d’accès peut être spécifié sous la forme suivante pour l’installation d’un groupe de travail Message Queuing :
Queue:PathName=ComputerName\PRIVATE$\AppName/new:Myproject.CMyClass
Note: Les langages de programmation C et Microsoft Visual C++ nécessitent deux barres obliques inverses pour représenter une barre oblique inverse dans les littéraux de chaîne, par exemple chicago\payroll.
FormatName
Lorsque vous marquez une application COM+ comme mise en file d’attente, COM+ crée une file d’attente Message Queuing dont le nom est identique à celui de l’application. Le nom de format Message Queuing de cette file d’attente se trouve dans le catalogue COM+, associé à l’application COM+. Pour remplacer le nom de destination, le nom de format peut être spécifié sous la forme suivante pour l’installation d’un groupe de travail Message Queuing :
File d’attente:FormatName=DIRECT=OS:ComputerName\PRIVATE$\AppName/new:ProgId
Dans une configuration Active Directory, « PRIVATE$ » n’est pas spécifié dans le nom de la file d’attente.

Notes

Les paramètres de moniker de file d’attente facultatifs sont traités de gauche à droite. Spécifiez chaque mot clé une seule fois. La spécification du paramètre PathName remplace les paramètres ComputerName et QueueName. Un paramètre FormatName spécifique supprime les connaissances préalables d’un paramètre ComputerName, QueueName et PathName .

Association de l’écouteur de composants mis en file d’attente à une file d’attente privée spécifique

L’écouteur Composants mis en file d’attente COM+ reçoit uniquement des files d’attente associées à l’application COM+ marquée en file d’attente. Lorsque vous marquez une application COM+ comme mise en file d’attente, COM+ crée une file d’attente Message Queuing dont le nom est identique à celui de l’application. Le nom de format Message Queuing de cette file d’attente se trouve dans le catalogue COM+, associé à l’application COM+. Lorsque l’application COM+ est démarrée et marquée comme écoute, un écouteur dans le processus d’application COM+ est démarré et la file d’attente est ouverte. Le tableau suivant répertorie les paramètres de moniker de file d’attente qui affectent le message Message Queuing.

Paramètre Description
AppSpecific
Spécifie un entier non signé, par exemple, AppSpecific=12345.
AuthLevel
Spécifie le niveau d’authentification du message. Un message authentifié est signé numériquement et nécessite un certificat pour l’utilisateur qui envoie le message. Valeurs acceptables :
  • MQMSG_AUTH_LEVEL_NONE,0
  • MQMSG_AUTH_LEVEL_ALWAYS,1
Distribution
Spécifie l’option de remise des messages. Cette valeur est ignorée pour les files d’attente transactionnelles. Valeurs acceptables :
  • MQMSG_DELIVERY_EXPRESS,0
  • MQMSG_DELIVERY_RECOVERABLE,1
EncryptAlgorithm
Spécifie l’algorithme de chiffrement à utiliser par Message Queuing pour chiffrer et déchiffrer le message. Valeurs acceptables :
  • CALG_RC2, CALG_RC4
  • Toute valeur entière acceptable pour Message Queuing pour un EncryptAlgorithm.
HashAlgorithm
Spécifie une fonction de hachage de chiffrement. Valeurs acceptables :
  • CALG_MD2, CALG_MD4, CALG_MD5, CALG_SHA, CALG_SHA1, CALG_MAC, CALG_SSL3_SHAMD5, CALG_HMAC, CALG_TLS1PRF
  • Toute valeur entière acceptable pour Message Queuing pour un HashAlgorithm.
Journal
Spécifie l’option de journal des messages Message Queuing. Valeurs acceptables :
  • MQMSG_JOURNAL_NONE,0
  • MQMSG_DEADLETTER,1
  • MQMSG_JOURNAL,2
Étiquette
Spécifie une chaîne d’étiquette de message jusqu’à MQ_MAX_MSG_LABEL_LEN caractères.
MaxTimeToReachQueue
Spécifie une durée maximale, en secondes, pour que le message atteigne la file d’attente.
Valeurs acceptables :
  • INFINITE
  • LONG_LIVED
  • Nombre de secondes
MaxTimeToReceive
Spécifie une durée maximale, en secondes, pour que le message soit reçu par l’application cible. Valeurs acceptables :
  • INFINITE
  • LONG_LIVED
  • Nombre de secondes
Priorité
Spécifie un niveau de priorité de message, dans les valeurs Message Queuing autorisées.
Valeurs acceptables :
  • MQ_MIN_PRIORITY,0
  • MQ_MAX_PRIORITY,7
  • MQ_DEFAULT_PRIORITY,3
  • Nombre compris entre 0 et 7
PrivLevel
Spécifie un niveau de confidentialité, utilisé pour chiffrer les messages.
Valeurs acceptables :
  • 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
Trace
Spécifie les options de trace, utilisées dans le suivi du routage Message Queuing.
Valeurs acceptables :
  • MQMSG_TRACE_NONE,0
  • MQMSG_SEND_ROUTE_TO_REPORT_QUEUE,1

L’ensemble complet des fonctions du Kit de développement logiciel (SDK) d’administration COM+ est disponible à l’aide d’objets COM. Cela permet à n’importe quel programme de démarrer et d’arrêter des applications COM+ si nécessaire.

Notes

Lorsqu’une application COM+ est démarrée, c’est l’application qui s’exécute, et non les composants individuels au sein de l’application. Si une application appelle un composant non mis en file d’attente, l’application COM+ qui contient le composant démarre. Si la zone case activée de l’écouteur est activée, l’écouteur démarre et commence également le traitement des messages pour les composants mis en file d’attente. Bien que le service des composants mis en file d’attente puisse être démarré de cette façon, si vous empaqueter des composants mis en file d’attente et non en file d’attente dans une seule application COM+, assurez-vous que vous souhaitez vraiment que les composants en file d’attente démarrent si un composant non mis en file d’attente est exécuté. Si ce n’est pas le cas, empaqueter les composants mis en file d’attente dans une application COM+ distincte des autres composants.

Activation des files d’attente de composants