Freigeben über


Verwenden von MSMQ als RPC-Transport

Das RPC-Subsystem unterstützt die Verwendung von MSMQ als Transport in synchronen und asynchronen Modi.

Der synchrone Modus verwendet herkömmliche Remoteprozeduraufrufe. Diese Aufrufe verwenden bekannte Endpunkte und den Nachrichtenwarteschlangentransport ncadg_mq als Transportprotokoll. Im synchronen Modus können Ihre Remoteprozeduren parameter [ in] und [ out] aufweisen und die standardmäßigen RPC-Sicherheitsdienste verwenden. Das RPC-Subsystem erstellt eine Antwortwarteschlange für Remoteaufrufe, die [out] -Parameter enthalten. Der synchrone Modus ist nützlich für Anwendungen, bei denen der Client Daten vom Server empfangen muss. Die Standard Einschränkung dieses Modus besteht darin, dass wie bei herkömmlichen Remoteprozeduraufrufen sowohl der Client als auch der Server ausgeführt werden müssen und für die Dauer des Aufrufs ausgeführt werden müssen.

Im asynchronen Modus können Clientanwendungen Aufrufe an den Server tätigen und sofort zurückgeben, unabhängig vom Zustand der Serveranwendung oder des Servercomputers. Es stellt auch eine Teilmenge von MSMQ-Features zum Verwalten von Nachrichtenwarteschlangen und Informationsfluss zur Verfügung. Mit der RpcBindingSetOption-Funktion können Sie die Dienstqualität, die Anrufpriorität, das Journaling, die Sicherheit und die Lebensdauer der Serverprozesswarteschlange steuern. Mit der RpcServerUseProtseqEpEx-Funktion können Sie Attribute der Serverprozesswarteschlange angeben, z. B. Warteschlangenpersistenz, Authentifizierung und Verschlüsselung.

Sie implementieren asynchrones MSMQ wie synchrones MSMQ. Sie müssen bekannte Endpunkte verwenden und das Transportprotokoll definieren, das ncadg_mq werden soll. Wenden Sie in Ihrer IDL-Datei das Nachrichtenattribute auf die Funktionen an, die asynchrones Nachrichtenwarteschlangen-Element verwenden. Beachten Sie, dass Nachrichtenfunktionen nur [in]-Parameter aufweisen können.