Pentru un client ASMX bazat pe HttpWebClientProtocol din .NET Framework, configurați proprietatea publică Proxy înainte de prima operație de rețea:

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

ReportsService este clasa generată, iar proxyAccount provine din implementare. Acreditările serviciului SOAP sunt separate. Această atribuire nu trebuie repetată în fiecare operație generată.

Dacă modificarea privește o opțiune de cerere subiacentă sau instrumentarea, utilizați GetWebRequest(Uri) suprascriabil din baza veche. Păstrați o declarație parțială corespunzătoare într-un fișier compilat separat când clasa generată este parțială; altfel, un client derivat adecvat poate furniza suprascrierea. Apelați implementarea de bază și păstrați construcția normală a cererii.

Acea plasare supraviețuiește actualizării referinței web: regenerarea poate înlocui modificările manuale din Reference.cs, în timp ce extensiile întreținute separat rămân reproductibile.

Modificați doar comportamentul cererii necesar cu adevărat. Copierea unei soluții KeepAlive poate afecta reutilizarea conexiunilor și autentificarea dependentă de starea conexiunii.

Acesta este modelul ASMX/.NET Framework. WCF și alte stive SOAP au propriile interfețe de transport. Alegeți setarea de client acceptată înainte de a introduce o extensie personalizată.

Articole similare