Partager via


<channel>, élément (instance)

Configure le canal utilisé par l'application pour communiquer avec les objets distants. Vous pouvez aussi déclarer et configurer un nouveau canal qui ne soit pas un modèle de canal.

<configuration>, élément
  <system.runtime.remoting>, élément
    <application>, élément
      <channels>, élément (instance)
        <channel>, élément (instance)

<!-- Either reference a channel template --> 
<channel  
   ref="channelRef" 
   displayName="name"
   port="port"
/>
<!-- Or declare a particular channel instance -->
<channel 
   type="ChannelType, ChannelAssembly"
   displayName="name"
   port="port"
   customChannelProperty="propertyValue"
/>

Attributs et éléments

Les sections suivantes décrivent des attributs, des éléments enfants et des éléments parents.

Attributs

Attribut Description

ref

Attribut facultatif.

Indique l'id du modèle de canal que votre client prévoit d'inscrire en vue d'une utilisation. Si vous spécifiez l'attribut ref, il est inutile de définir l'attribut type.

Le système distant .NET Framework fournit trois implémentations de canal : "http", "tcp" et "ipc". Pour plus d'informations sur le choix d'une implémentation de canal, consultez Choix d'un canal.

displayName

Attribut facultatif.

Cet attribut est utilisé par l'outil .NET Framework Configuration pour créer la liste des canaux que cette application a inscrits. Le système distant .NET Framework n'utilise pas cet attribut.

type

Attribut facultatif.

Indique le nom de type complet du canal et le nom de l'assembly où se trouve l'implémentation du canal. Cela inclut les informations de version, de culture et de clé publique si l'assembly conteneur se trouve dans le Global Assembly Cache. Cet attribut est obligatoire si vous n'utilisez pas d'attribut ref.

Le système distant .NET Framework fournit trois implémentations de canal : "http", "tcp" et "ipc". Pour plus d'informations sur le choix d'une implémentation de canal, consultez Choix d'un canal.

port

Attribut facultatif.

Indique l'attribut de port approprié. Vous pouvez spécifier un attribut de port à cet emplacement si, par exemple, vous voulez que le canal écoute sur un port. Certains canaux, comme le TcpChannel, requièrent une spécification de port. D'autres canaux, comme le HttpChannel, possèdent des ports par défaut ; en conséquence, ils ne nécessitent pas la présence de cet attribut. Si vous générez un client et spécifiez 0 (zéro) comme port, le système distant .NET Framework choisit automatiquement un port approprié. Si vous ne spécifiez pas de port pour un canal client, votre client sera dans l'impossibilité de recevoir des fonctions de rappel de l'objet distant.

portName

Attribut requis pour un IpcChannel ou un IpcServerChannel. Spécifie le nom du port que le serveur exposera.

<customChannelProperty>

Attribut facultatif.

Indique une propriété de canal personnalisé prise en charge. Vous pouvez spécifier autant de propriétés de canal que les canaux peuvent en accepter. Une propriété de canal personnalisé est spécifiée à l'aide d'une paire attribut/valeur. Par exemple :

<channel 
   ref="CustomChannel" 
   port="61000"   customProperty="PropertyValue" 
/>

useIpAddress

Valeur Boolean (true ou false) qui spécifie si l'adresse IP figurant dans l'URL de publication doit être utilisée à la place du nom de l'ordinateur. Par exemple, les réseaux sans fil transfèrent souvent l'adresse IP d'un ordinateur portable lors de son déplacement sur le réseau. Si false est spécifié pour cette valeur, le nom de l'ordinateur est utilisé à la place de l'adresse, afin que les communications distantes ne soient pas déconnectées lorsqu'elles sont itinérantes. La valeur par défaut est true. Cette valeur peut être substituée par la propriété machineName lorsque cette propriété est utilisée avec un canal serveur.

machineName

Chaîne qui spécifie le nom de l'ordinateur utilisé avec le canal en cours. Si elle est utilisée avec un canal serveur, elle substitue useIpAddress.

Remarque   Il est généralement recommandé d'utiliser le nom DNS (Domain Name System) de l'ordinateur, mais lorsque l'adresse IP d'une carte d'interface réseau particulière (habituellement une carte réseau sans fil) change rapidement, vous devez configurer l'application pour utiliser machineName afin de permettre à l'accès distant de trouver l'ordinateur via DNS. Cependant, lorsque le nom de l'ordinateur n'est pas résolu assez rapidement (ou pas du tout) et lorsque l'ordinateur possède plusieurs cartes réseau, physiques ou virtuelles (cela est souvent le cas avec une connexion d'accès à distance ou une carte réseau VPN), vous devez affecter l'adresse IP de la carte réseau utilisée pour cette connexion à la propriété machineName.

Éléments enfants

Élément Description

<serverProviders>

Contient les fournisseurs de récepteurs pour les récepteurs qui doivent être insérés dans la chaîne d'appel du récepteur de canal côté serveur. Si un fournisseur est spécifié, il substitue le fournisseur par défaut du canal. Peut apparaître une seule fois dans l'élément <channel>.

<clientProviders>

Contient les fournisseurs de récepteurs pour les récepteurs qui doivent être insérés dans la chaîne d'appel du récepteur de canal côté client. Si un fournisseur est spécifié, il substitue le fournisseur par défaut du canal. Peut apparaître une seule fois dans l'élément <channel>.

Éléments parents

Élément Description

application

Contient des informations sur les objets distants utilisés et exposés par l'application.

channels

Contient les canaux utilisés par l'application pour communiquer avec les objets distants. Cet élément configure les modèles de canaux ou déclare les nouveaux canaux à utiliser avec l'application spécifiée.

configuration

Élément racine de chaque fichier de configuration utilisé par le Common Language Runtime et les applications .NET Framework.

system.runtime.remoting

Contient des informations sur les canaux et les objets distants.

Notes

Les HttpChannel, TcpChannel et IpcChannel fournis par le système sont spécifiés dans le fichier de configuration machine. Leurs attributs id respectifs sont "http", "tcp" et "ipc".

Exemple

Le fichier de configuration suivant déclare l'emplacement d'un type distant pour une application cliente et utilise l'élément d'instance <channels> pour indiquer au système .NET Remoting qu'il doit rechercher un port approprié à partir duquel se connecter à l'objet serveur et qu'il doit utiliser le HttpChannel par défaut.

<configuration>
   <system.runtime.remoting>
      <application>
         <client>
            <wellknown 
               type="RemoteType, RemoteAssembly"
               url="http://computername:8080/RemoteType.rem"
            />
         </client>
         <channels>
            <channel 
               ref="http" 
               port="0"
            />
         </channels>
      </application>
   </system.runtime.remoting>
</configuration>

Voir aussi

Référence

Schéma des paramètres d'accès distant
HttpChannel
HttpClientChannel
HttpServerChannel
TcpChannel
TcpClientChannel
TcpServerChannel
IpcChannel
IpcClientChannel
IpcServerChannel