Réception d’une réponse
Étant donné que les composants mis en file d’attente sont conçus pour fonctionner de manière asynchrone, les applications clientes ne doivent pas bloquer en attendant une réponse d’une demande mise en file d’attente. Néanmoins, il est souvent utile pour l’application cliente ou une application associée sur l’ordinateur client de recevoir une réponse. Par exemple, un client peut souhaiter être averti lorsqu’une transaction demandée a été effectuée avec succès.
Il existe différentes façons pour un composant mis en file d’attente d’envoyer une réponse à son appelant de manière asynchrone. Par exemple, il peut envoyer un e-mail. Le serveur peut également publier des événements faiblement couplés auxquels le client peut s’abonner.
Une autre façon pour un client d’obtenir une réponse à partir d’un composant mis en file d’attente qui s’exécute sur un serveur est que le client transmet la méthode appelée à un objet de notification. Un objet de notification est une instance d’un composant mis en file d’attente qui s’exécute sur le client. Un tel objet de notification peut être assez simple, contenant uniquement un entier utilisé pour représenter une valeur d’erreur, ou il peut être assez complexe, contenant toutes les informations nécessaires pour restaurer une transaction sur le client. Dans les deux cas, le client appelant transmet un objet de notification en tant que paramètre d’entrée chaque fois qu’il souhaite une réponse d’un composant mis en file d’attente qui s’exécute sur un serveur. Étant donné que l’objet de notification est mis en file d’attente, le serveur peut appeler ses méthodes pour modifier son état, qui peut ensuite être lu par le client. Dans ce scénario, le service de composants mis en file d’attente COM+ est utilisé à la fois sur le client et sur le serveur pour autoriser la communication asynchrone dans les deux sens.