Pour un client ASMX basé sur HttpWebClientProtocol du .NET Framework, configurez sa propriété publique Proxy avant la première opération réseau :

var service = new ReportsService();
service.Proxy = new WebProxy("http://proxy.example:8080")
{
    Credentials = proxyAccount
};

ReportsService est la classe générée et proxyAccount provient du déploiement. Les informations d'identification du service SOAP sont distinctes. Cette affectation n'a pas besoin d'être répétée dans chaque opération générée.

Si la modification concerne une option de requête sous-jacente ou l'instrumentation, utilisez la méthode GetWebRequest(Uri) substituable de la base héritée. Conservez une déclaration partielle correspondante dans un fichier compilé séparé lorsque la classe générée est partielle ; sinon, un client dérivé approprié peut fournir la substitution. Appelez l'implémentation de base et préservez la construction normale de la requête.

Cet emplacement survit à la mise à jour de la référence web : la régénération peut remplacer les modifications manuelles dans Reference.cs, tandis que les extensions maintenues séparément restent reproductibles.

Ne modifiez que le comportement de requête réellement nécessaire. Copier un contournement KeepAlive peut affecter la réutilisation des connexions et l'authentification qui dépend de l'état de la connexion.

Il s'agit du modèle ASMX/.NET Framework. WCF et les autres piles SOAP ont leurs propres interfaces de transport. Choisissez le paramètre client pris en charge avant d'introduire une extension personnalisée.

Articles similaires