Voor een .NET Framework-toepassing registreert u de proxymodule onder configuration/system.net/defaultProxy:

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

De eerste naam is het type en de tweede de assembly-identiteit, niet een DLL-pad. De assembly en afhankelijkheden moeten volgens de normale regels van de toepassing worden geladen.

Controleer twee poorten. Ten eerste moet de runtime een openbaar type construeren dat IWebProxy implementeert via een parameterloze constructor. Bewaar innerlijke uitzonderingen van laad- of constructiefouten; die gaan aan elke proxy-TCP-verbinding vooraf. Bevestig voor een desktoprelease dat de registratie de geïmplementeerde configuratie van het uitvoerbare bestand heeft bereikt. Vergelijk bij ClickOnce de gebouwde, gepubliceerde en geïnstalleerde .exe.config. De App.config van een klassenbibliotheek configureert doorgaans niet het hostproces.

Ten tweede moet het verzoek die standaard gebruiken. Een expliciete proxytoewijzing kan deze overschrijven, en een andere HTTP-stack leest dit configuratiemodel mogelijk niet. Binnen de module hebben GetProxy en IsBypassed consistente beslissingen nodig, met een absolute proxy-URI die het juiste schema en de juiste poort gebruikt.

Maak ook het gedrag van referenties consistent. Een getter die een hardgecodeerd account maakt en zijn setter negeert, kan latere configuratie tenietdoen, zelfs nadat het laden is geslaagd.

Dit is een onderhoudsmechanisme voor .NET Framework. Gebruik de proxyconfiguratie die de netwerkclient ondersteunt in het huidige .NET in plaats van te verwachten dat deze verouderde system.net-registratie elke HttpClient bestuurt.

Gerelateerde artikelen