Partager via


Configuration d'objets distants

Les développeurs qui publient ou consomment des objets accessibles à distance doivent configurer le .NET Remoting de sorte que les applications utilisant ce système fonctionnent correctement. Vous pouvez réaliser cette tâche par programme, ou en utilisant le fichier de configuration de l'application ou le fichier de configuration machine. Les administrateurs peuvent ensuite utiliser l'outil .NET Framework Configuration Tool pour désigner des clients d'accès distant à différents points d'entrée ou modifier la durée de vie d'objets activés par le client (<activated>) ou activés par le serveur (<wellknown>), le cas échéant.

Vous devez inscrire vos classes accessibles à distance en les insérant dans l'élément <application>, qui est un enfant de l'élément <system.runtime.remoting>. Les objets qu'une application consomme sont regroupés par application distante sous la section <client> de l'élément <application>. Les objets qu'une application expose sont déclarés dans une section <service> au sein du nœud <application>. Si n'hébergez pas vos types distants dans les services IIS (Internet Information Services), vous pouvez spécifier un attribut name pour votre application qui devient alors partie intégrante de votre URL d'activation, mais cette opération n'est nécessaire dans aucun scénario. Pour plus d'informations sur l'hébergement dans les services IIS, consultez Hébergement d'objets distants dans Internet Information Services (IIS).

En outre, .NET Remoting ne récupère pas automatiquement les valeurs de configuration d'accès distant dans le fichier de configuration de l'application. Pour configurer l'accès distant à l'aide d'un fichier de configuration, vous devez appeler RemotingConfiguration.Configure. Le seul cas où le domaine de l'application hôte charge automatiquement le fichier de configuration d'accès distant est celui où votre type accessible à distance est hébergé dans IIS. Dans ce cas, .NET Remoting ne récupère automatiquement que les paramètres de service du fichier Web.config. Les paramètres client ne sont pas pris en compte tant que le fichier de configuration n'est pas de nouveau chargé par un appel direct à la méthode RemotingConfiguration.Configure.

Le schéma suivant montre la structure des éléments que vous pouvez utiliser pour configurer une application en vue d'utiliser le système .NET Remoting.

<configuration>

<system.runtime.remoting>

<application>

<lifetime>

<channels> (instance)

<channel> (instance)

<serverProviders> (instance)

<provider> (instance)

<formatter> (instance)

<clientProviders> (instance)

<provider> (instance)

<formatter> (instance)

<client>

<wellknown> (instance client)

<activated> (instance client)

<service>

<wellknown> (instance service)

<activated> (instance service)

<soapInterop>

<interopXmlType>

<interopXmlElement>

<preLoad>

<channels> (modèle)

<channel> (modèle)

<serverProviders> (instance)

<provider> (instance)

<formatter> (instance)

<clientProviders> (instance)

<provider> (instance)

<formatter> (instance)

<channelSinkProviders>

<serverProviders> (modèle)

<provider> (modèle)

<formatter> (modèle)

<clientProviders> (modèle)

<provider> (modèle)

<formatter> (modèle)

<debug>

Pour utiliser les paramètres d'accès distant, vous devez appeler RemotingConfiguration.Configure pour le fichier de configuration de l'application. Notez que le Common Language Runtime charge automatiquement le fichier de configuration machine avant de charger le fichier de configuration de l'application. N'appelez pas RemotingConfiguration.Configure pour le fichier de configuration machine. Cette action peut provoquer des exceptions quand des objets déjà en mémoire sont chargés une nouvelle fois.

Configuration de la durée de vie

Vous spécifiez une durée de vie par défaut pour tous les objets activés par le client et les objets Singleton activés par le serveur dans une application à l'aide de l'élément <lifetime>.

Pour plus d'informations sur la configuration par programme et les concepts de durée de vie, consultez Baux de durée de vie.

Éléments d'instance et éléments de modèle

Il existe deux types d'éléments liés à la génération de canaux : les éléments de modèle et les éléments d'instance. Les éléments de modèle servent à déclarer un canal, un fournisseur de récepteurs de canaux client ou serveur, ou un formateur de récepteur de canal ou serveur à utiliser ailleurs dans la même application en faisant référence simplement à l'attribut ID de l'élément de modèle.

Notes

Lorsque vous utilisez l'attribut type dans un élément de modèle pour créer une configuration par défaut qui utilise un type implémenté par le système, tel que BinaryFormatter ou HttpChannel, vous devez spécifier des informations de type complètes, comprenant la version, la culture et des informations relatives aux noms forts. Ces informations peuvent être obtenues à partir du fichier machine.config ou en utilisant l'outil Global Assembly Cache Tool Gacutil.exe. Cela n'est pas nécessaire si le type est défini dans un assembly qui n'est pas dans le Global Assembly Cache mais qui est localisable ou si vous faites référence au type dans un élément d'instance, où vous pouvez utiliser l'attribut ref.

Voir aussi

Tâches

Comment : configurer la durée de vie d'un objet distant activé par le client ou par le serveur
Comment : configurer des canaux

Référence

System.Runtime.Remoting.RemotingConfiguration Class

Concepts

Configuration d'applications distantes
Canaux
Inscription de canal
Inscription côté serveur
Inscription côté client
Inscription de canal

Autres ressources

Inscription d'objets distants à l'aide de fichiers de configuration
Vue d'ensemble de .NET Framework Remoting