Comment puis-je configurer le proxy HTTP par programme, sur un WCF client, sans utiliser de proxy par défaut?
Les procurations sollicitation de procurations.
Selon la WCF modèle de développement, je générer côté client "proxy" classes svcutil.exe sur le WSDL du service. (Cela aussi produit d'un côté client, le fichier de config).
Dans mon code j'ai du nouveau en place d'une instance de cette classe et je peux me connecter à l' service. Très agréable.
var svcProxy = new MyWebService();
svcProxy.GetInformation(request);
Nous appelons cette chose une classe proxy, mais il est un autre proxy le proxy http. Cette le service est à l'aide de wsHttpBinding basicHttpBinding, de sorte qu'il est d'aller sur le http. Maintenant, supposons que je veux me connecter le client vers le service web sur un proxy http (modélisé par un Système.Net.WebProxy dans le .NETS DE LA BCL). Je sais de mon vaste, agréable l'expérience de lecture .NET et WCF documentation, que la FMC de l'exécution, si pas d'indication contraire, va utiliser la valeur par défaut proxy du système lors de la communication via http/https.
Je peux le mettre qu'à partir de la ligne de commande dans Sous windows xp / 2003 avec ProxyCfg.exe comme décrit ici, et à plus tard les versions de Windows avec netsh.exe comme décrit ici.
Je peux aussi préciser la valeur par défaut de proxy web pour l'utilisation dans l'application en définissant le Système.Net.WebRequest.DefaultWebProxy de la propriété.
Mais supposons que je veux me connecter sur un proxy qui est différente de la à l'échelle du système de proxy? Par exemple peut-être il n'est pas à l'échelle du système de proxy mais J'ai besoin d'en utiliser une pour le service web en particulier. Ou peut-être qu'il est a l'échelle du système de proxy mais j'ai besoin d'utiliser un autre, pour le web service. Et, en fait, peut-être il y a plusieurs clients de services web, et chacun devrait avoir un autre proxy.
Comment peut-proxy être définie par liaison?
Dans le ASMX modèle, je pourrais faire ceci:
var svcProxy = new MyWebService();
svcProxy.Proxy = new System.Net.WebProxy("http://proxyserver:1234", true);
svcProxy.GetInformation(request);
Mais ce n'est pas possible avec WCF; la WCF-généré proxy côté client les classes ne pas exposer un Proxy de la propriété. Comment dois-je configurer le proxy http, par proxy côté client, et comment puis-je configurer l'authentification sur le proxy http ainsi?
Connexes:
- comment définissez-proxy-avec-pouvoirs-de-produits-wcf-client