Partager via


Communication à distance asynchrone

Cette rubrique est spécifique à la technologie héritée assurant la compatibilité descendante avec des applications existantes et n'est pas recommandée en cas de nouveau développement. Les applications distribuées doivent maintenant être développées à l'aide de Windows Communication Foundation (WCF)

La programmation asynchrone dans un scénario de communication à distance ne diffère de la programmation asynchrone dans un domaine d'application ou un contexte unique que par la configuration et les besoins de .NET Remoting. Pour un exemple complet utilisant .NET Remoting et des délégués synchrones et asynchrones, consultez Exemple de communication à distance : communication à distance asynchrone.

Tout comme la programmation asynchrone d'un domaine d'application unique, l'utilisation de la programmation asynchrone dans un scénario .NET Remoting signifie que :

  • L'appelant décide si un appel distant particulier est asynchrone.

  • Les types distants n'ont pas à prendre en charge explicitement le comportement asynchrone de leurs clients.

  • L'exécution met en place une cohérence complète des types.

  • Vous devez utiliser de manière adéquate les objets System.Threading pour attendre ou synchroniser vos méthodes.

Toutefois, dans une application qui effectue des appels entre domaines d'application ou entre des limites de contexte, .NET Remoting requiert que vous configuriez l'application cliente afin qu'elle puisse recevoir les appels distants du serveur (en spécifiant le port « 0 » sur le canal client.) Cette configuration est nécessaire, car une fois qu'un appel asynchrone est effectué, il n'y a aucun moyen de récupérer les résultats de l'appel sans autoriser le serveur à rappeler le client.

Le client n'a pas besoin d'étendre le MarshalByRefObject ou de configurer un type distant lui-même, il doit cependant suivre les mêmes règles que pour tous les types distants conçus pour être des serveurs.

  • La méthode de rappel doit être une méthode d'instance. Les appels de méthode statique ne sont pas effectués à distance.

  • Un canal doit être inscrit pour écouter la fonction de rappel.

Voir aussi

Tâches

Comment : appeler de façon asynchrone les méthodes d'un objet distant

Concepts

Problèmes avec les méthodes d'appel d'objets distants de façon asynchrone
Exemple de communication à distance : communication à distance asynchrone
Configuration d'applications distantes

Autres ressources

Vue d'ensemble de .NET Framework Remoting