Vue d'ensemble de .NET Framework Remoting
.NET Remoting vous permet de créer facilement des applications largement distribuées, que les composants d'application se trouvent tous sur un même ordinateur ou répartis dans le monde entier. Vous pouvez créer des applications clientes utilisant des objets dans d'autres processus sur le même ordinateur ou sur tout autre ordinateur accessible sur son réseau. Vous pouvez également utiliser .NET Remoting pour communiquer avec d'autres domaines d'application dans le même processus. Pour plus d'informations sur la programmation de domaines d'application, voir Programming with Application Domains.
.NET Remoting offre une approche abstraite de la communication entre processus qui sépare l'objet accessible à distance d'un domaine d'application client ou serveur spécifique et d'un mécanisme spécifique de communication. Il est donc souple et facilement personnalisable. Vous pouvez remplacer un protocole de communication par un autre ou un format de sérialisation par un autre sans recompiler le client ni le serveur. En outre, le système d'accès distant ne possède pas de modèle d'application particulier. Vous pouvez communiquer à partir d'une application Web, une application console, un service Windows ou presque tout ce que vous souhaitez utiliser. Les serveurs d'accès distant peuvent également être n'importe quel type de domaine d'application. N'importe quelle application peut héberger des objets distants et fournir ses services à n'importe quel client sur son ordinateur ou son réseau.
Notes
Pour des raisons de sécurité, il est vivement recommandé d'exposer des points d'entrée d'accès distant sur des canaux sécurisés. N'exposez jamais de points d'entrée d'accès distant non sécurisés sur Internet.
Pour utiliser .NET Remoting pour créer une application dans laquelle deux composants communiquent directement au-delà de la limite du domaine d'application, vous ne devez créer que les éléments suivants :
Un objet accessible à distance.
Un domaine d'application hôte pour écouter les demandes concernant cet objet.
Un domaine d'application client qui effectue des demandes concernant cet objet.
Même dans une application multiclient ou multiserveur complexe, .NET Remoting peut être imaginé de cette manière. L'hôte et l'application cliente doivent également être configurés avec l'infrastructure de l'accès distant et vous devez connaître les problèmes de durée de vie et d'activation que pose l'infrastructure de l'accès distant.
Dans cette section
- Création d'une application .NET Framework Remoting de base
Illustre le scénario .NET Remoting de base en créant un type accessible à distance, une application d'écoute et un fichier de configuration, ainsi qu'une application cliente et un fichier de configuration.
- Architecture .Net Framework Remoting
Décrit l'architecture du système .NET Remoting.
- Objets accessibles à distance
Décrit les limites de l'accès distant et explique comment implémenter des types qui peuvent être activés au-delà de ces limites.
- Activation d'objets et durées de vie
Décrit les différents types d'activation à distance et explique comment gérer les durées de vie d'objets distants.
- Canaux
Décrit les canaux définis par le système et fournit les informations dont vous avez besoin pour décider quel canal est le meilleur pour votre scénario.
- Configuration d'applications distantes
Décrit la configuration requise de base de l'infrastructure .NET Remoting, les types de configuration qui peuvent être utilisés pour répondre à ces exigences et les besoins particulier de divers domaines d'application cliente et serveur.
- Informations de version dans l'accès distant
Décrit le fonctionnement du versioning dans un scénario d'accès distant.
- Sécurité dans l'accès distant
Décrit les spécifications de sécurité pour utiliser l'accès distant et les approches de base en matière de création d'applications d'accès distant sécurisées.
- Accès distant asynchrone
Explique comment pratiquer la programmation asynchrone dans un scénario d'accès distant.
- Comment : Appeler les méthodes d'un objet distant asynchrone
Montre comment faire un appel asynchrone à une méthode sur un objet distant.
- Problèmes liés aux méthodes d'appel d'objets distants asynchrones
Décrit les problèmes pouvant survenir lors d'un appel asynchrone à une méthode sur un objet distant.
- CallContexts et accès distant direct
Explique comment passer des données supplémentaires avec des appels de méthode distants à l'aide de CallContext et comment publier des objets de manière dynamique pour une utilisation à distance.
Référence
- Remoting Settings Schema
Fournit des informations de référence sur les éléments qui peuvent être utilisés pour configurer .NET Remoting à l'aide d'un fichier de configuration.
- System.Runtime.Remoting
Fournit des informations de référence sur les types qui peuvent être utilisés avec .NET Remoting.
- System.Runtime.Remoting.Activation
Contient des classes et des objets qui prennent en charge l'activation serveur et client d'objets distants.
- System.Runtime.Remoting.Channels
Contient des classes qui prennent en charge et gèrent des canaux et des récepteurs de canal utilisés comme support de transport lorsqu'un client appelle une méthode sur un objet distant.
- System.Runtime.Remoting.Channels.Http
Contient des classes pour les canaux qui utilisent le protocole HTTP afin de transporter des messages et des objets vers et à partir d'emplacements distants.
- System.Runtime.Remoting.Channels.Ipc
Contient des classes définissant un canal de communication pour l'accès distant qui utilise le système IPC (Interprocess Communication) du système d'exploitation Windows.
- System.Runtime.Remoting.Channels.Tcp
Contient des classes définissant des canaux qui utilisent le protocole TCP pour transporter des messages et des objets vers et à partir d'emplacements distants.
- System.Runtime.Remoting.Contexts
Contient des objets qui définissent les contextes dans lesquels résident tous les objets distants.
- System.Runtime.Remoting.Lifetime
Contient des classes qui gèrent la durée de vie d'objets existants.
- System.Runtime.Remoting.Messaging
Contient des classes servant à créer et à transmettre des messages.
- System.Runtime.Remoting.Metadata
Contient des classes et des attributs pouvant être utilisés pour personnaliser la génération et le traitement de SOAP pour des objets et des champs.
- System.Runtime.Remoting.Metadata.W3cXsd2001
Contient le XSD (XML Schema Definition) défini par le W3C (World Wide Web Consortium) en 2001.
- System.Runtime.Remoting.MetadataServices
Contient les classes utilisées par l'outil de ligne de commande Soapsuds Tool (Soapsuds.exe) et le code utilisateur pour convertir les métadonnées vers et à partir d'un schéma XML pour l'infrastructure distante.
- System.Runtime.Remoting.Proxies
Contient des classes qui contrôlent et fournissent des fonctionnalités destinées aux proxies.
- System.Runtime.Remoting.Services
Contient des classes de service qui fournissent des fonctionnalités au .NET Framework.
Rubriques connexes
- Accès distant avancé
Décrit les points d'interception et d'extension de base que vous pouvez utiliser pour personnaliser l'architecture .NET Remoting.
- Exemples d'accès distant
Fournit plusieurs exemples complets d'applications utilisant différents éléments de l'infrastructure d'accès distant.