Utilisation de MSMQ en tant que transport RPC
Le sous-système RPC prend en charge l’utilisation de MSMQ en tant que transport en mode synchrone et asynchrone.
Le mode synchrone utilise des appels de procédure distante conventionnels. Ces appels utilisent des points de terminaison connus et le transport de file d’attente de messages, ncadg _ MQ, comme protocole de transport. En mode synchrone, vos procédures distantes peuvent avoir des [ paramètres in ] et [ out ] et peuvent utiliser les services de sécurité RPC standard. Le sous-système RPC crée une file d’attente de réponses pour les appels distants contenant des paramètres de [ sortie ] . Le mode synchrone est utile pour les applications où le client a besoin de recevoir des données du serveur. La principale limitation de ce mode est que, comme pour les appels de procédure distante conventionnels, le client et le serveur doivent tous deux être en cours d’exécution et rester en cours d’exécution pendant la durée de l’appel.
Le mode asynchrone permet aux applications clientes d’effectuer des appels au serveur et de les retourner immédiatement, quel que soit l’état de l’application serveur ou de l’ordinateur serveur. Il fournit également un sous-ensemble de fonctionnalités MSMQ pour gérer les files d’attente de messages et le workflow d’informations. La fonction RpcBindingSetOption vous permet de contrôler la qualité de service, la priorité d’appel, la journalisation, la sécurité et la durée de vie de la file d’attente de processus serveur. La fonction RpcServerUseProtseqEpEx vous permet de spécifier des attributs de la file d’attente des processus serveur, tels que la persistance de la file d’attente, l’authentification et le chiffrement.
Vous implémentez le MSMQ asynchrone comme vous le feriez avec MSMQ synchrone. Vous devez utiliser des points de terminaison connus et définir le protocole de transport ncadg _ MQ. Dans votre fichier IDL, appliquez l’attribut message aux fonctions qui utilisent Message Queuing asynchrone. Notez que les fonctions de message ne peuvent avoir que [ des ] paramètres in.