Partager via


Proxies personnalisés, exemple de technologie

Mise à jour : novembre 2007

Cet exemple illustre l'extensibilité de la classe RealProxy. En étendant RealProxy, le code utilisateur accède aux messages qui sont transportés vers et à partir de n'importe quel objet distant. L'exemple crée trois fichiers exécutables. L'application ProxyWithReturnMessage.exe se substitue à la méthode Invoke pour afficher les données de message. L'application ProxyWithCustomCasting.exe utilise deux interfaces, IFaq et IBaz, pour illustrer les fonctionnalités de conversion personnalisée. L'application ProxyWiredToHttpChannel.exe montre comment intercepter et transférer l'appel au service RemotingHello par le canal Http.

Remarque importante :

Cet exemple exige l'installation préalable d'IIS (Internet Information Services) sur votre ordinateur. Vous devez inscrire le service RemotingHello dans IIS avant d'exécuter les exemples d'application.

Pour plus d'informations sur l'utilisation des exemples, consultez les rubriques suivantes :

Download sample

Pour générer l'exemple à partir de l'invite de commande

  1. Ouvrez une fenêtre d'invite de commande et accédez au sous-répertoire CS.

  2. Tapez msbuild CustomProxiesCS.sln sur la ligne de commande.

    Remarque :

    Cet exemple génère trois applications console. Vous devez les lancer à l'aide de l'invite de commande afin de pouvoir afficher leur sortie.

Pour générer l'exemple à l'aide de Visual Studio

  1. Ouvrez l'Explorateur Windows et accédez au sous-répertoire CS.

  2. Double-cliquez sur l'icône de CustomProxiesCS.sln pour ouvrir le fichier dans Visual Studio.

  3. Dans le menu Générer, choisissez Générer la solution.

Pour inscrire le service dans IIS

  1. Compilez le service sous la forme d'une DLL, puis copiez cette DLL dans un répertoire bin à partir duquel le service sera chargé. La génération de l'exemple à l'aide de l'invite de commande ou de Visual Studio décrite ci-dessus compile le service, crée le sous-répertoire bin sous ProxyWiredToHttpChannel et y copie Hello.dll.

  2. Démarrez le Gestionnaire des services Internet et sélectionnez Site Web par défaut sous le nœud du serveur. Sélectionnez Action, Nouveau, Répertoire virtuel dans le menu et cliquez sur Suivant pour continuer.

  3. Entrez RemotingHello comme alias et cliquez sur Suivant.

  4. Entrez le répertoire où se trouve le service. Entrez le chemin complet jusqu'au répertoire bin (exclus) dans lequel la dll a été copiée à l'étape 1.

  5. Cliquez sur Suivant. Acceptez les valeurs par défaut affichées et cliquez à nouveau sur Suivant. Cliquez sur Terminer. Le service est désormais inscrit et s'affiche dans la liste des sites Web par défaut dans la fenêtre du Gestionnaire des services Internet.

  6. Vérifiez qu'un fichier web.config se trouve dans le répertoire où le service a été inscrit. Ce fichier décrit votre service ; il se charge automatiquement lorsqu'un client essaie d'accéder à votre service à l'aide d'un navigateur ou d'un client utilisant le canal HTTP sur le port 80.

Pour exécuter l'exemple

  1. Accédez au répertoire qui contient l'un des trois fichiers exécutables :

    • ProxyWiredToHttpChannel.exe

    • ProxyWithCustomCasting.exe

    • ProxyWithReturnMessage.exe.

    Chaque fichier exécutable se trouve dans le sous-répertoire \bin\Debug du répertoire portant le même nom que l'application console.

  2. Tapez le nom du fichier exécutable sur la ligne de commande. Vérifiez que le service RemotingHello est inscrit dans IIS comme décrit ci-dessus avant d'exécuter ProxyWiredToHttpChannel.exe.

Voir aussi

Concepts

Extension de la classe RealProxy

Référence

IChannel

IMessage

IRemotingTypeInfo

MarshalByRefObject

OneWayAttribute

RealProxy

System.Collections

System.Runtime.Remoting

System.Runtime.Remoting.Proxies

System.Runtime.Remoting.Messaging

UnmanagedType

Autres ressources

Accès distant avancé

Activation d'objets et durées de vie