Accès distant asynchrone
La programmation asynchrone dans un scénario d'accès distant ne diffère de la programmation asynchrone dans un domaine d'application ou un contexte unique que par la configuration et les besoins d'accès distant .NET lui-même. Pour un exemple complet utilisant l'accès distant .NET et des délégués synchrones et asynchrones, consultez Exemple d'accès distant : accès distant asynchrone.
Tout comme la programmation asynchrone d'un domaine d'application unique, l'utilisation de la programmation asynchrone dans un scénario d'accès distant .NET 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, l'accès distant .NET 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 d'accès distant : accès distant asynchrone
Configuration d'applications distantes
Autres ressources
Vue d'ensemble de l'accès distant .NET Framework
Copyright ©2007 par Microsoft Corporation. Tous droits réservés.