Per a una aplicació .NET Framework, registreu el mòdul de proxy sota configuration/system.net/defaultProxy:

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

El primer nom és el tipus i el segon la seva identitat d'assemblatge, no un camí de DLL. L'assemblatge i les dependències s'han de carregar segons les regles normals de l'aplicació.

Comproveu dues portes. Primer, el runtime ha de construir un tipus públic que implementi IWebProxy mitjançant un constructor sense paràmetres. Conserveu les excepcions internes de les fallades de càrrega o construcció; precedeixen qualsevol connexió TCP de proxy. Per a una versió d'escriptori, confirmeu que el registre ha arribat a la configuració desplegada de l'executable. Amb ClickOnce, compareu el .exe.config compilat, publicat i instal·lat. L'App.config d'una biblioteca de classes normalment no configura el seu procés amfitrió.

Segon, la sol·licitud ha d'utilitzar aquest valor predeterminat. Una assignació explícita de proxy pot substituir-lo, i una altra pila HTTP pot no llegir aquest model de configuració. Dins del mòdul, GetProxy i IsBypassed necessiten decisions coherents, amb un URI de proxy absolut que utilitzi l'esquema i el port correctes.

Feu coherent també el comportament de les credencials. Un getter que fabrica un compte codificat i ignora el seu setter pot anul·lar la configuració posterior fins i tot després que la càrrega tingui èxit.

Aquest és un mecanisme de manteniment per a .NET Framework. Utilitzeu la configuració de proxy compatible amb el client de xarxa al .NET actual en lloc d'esperar que aquest registre system.net heretat governi tots els HttpClient.

Articles relacionats