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

  • 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.
  • 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.
  • 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.
  • 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.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.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.

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.