Pentru o aplicație .NET Framework, înregistrați modulul proxy sub configuration/system.net/defaultProxy:

<defaultProxy>
  <module type="Company.Network.RoutingProxy, Company.Network" />
</defaultProxy>

Primul nume este tipul, iar al doilea este identitatea ansamblului, nu o cale DLL. Ansamblul și dependențele trebuie încărcate conform regulilor normale ale aplicației.

Verificați două porți. În primul rând, runtime-ul trebuie să construiască un tip public care implementează IWebProxy printr-un constructor fără parametri. Păstrați excepțiile interne din eșecurile de încărcare sau construcție; acestea precedă orice conexiune TCP proxy. Pentru o versiune desktop, confirmați că înregistrarea a ajuns la configurația implementată a executabilului. Cu ClickOnce, comparați .exe.config compilat, publicat și instalat. App.config al unei biblioteci de clase nu configurează de obicei procesul gazdă.

În al doilea rând, cererea trebuie să folosească acea valoare implicită. O atribuire explicită de proxy o poate înlocui, iar alt stack HTTP poate să nu citească acest model de configurare. În interiorul modulului, GetProxy și IsBypassed necesită decizii consecvente, cu un URI proxy absolut care folosește schema și portul corecte.

Faceți consecvent și comportamentul acreditărilor. Un getter care fabrică un cont codificat și își ignoră setter-ul poate anula configurația ulterioară chiar și după o încărcare reușită.

Acesta este un mecanism de întreținere pentru .NET Framework. În .NET actual, folosiți configurația proxy acceptată de clientul de rețea, în loc să vă așteptați ca această înregistrare system.net veche să guverneze fiecare HttpClient.

Articole similare