Indlæsning af et brugerdefineret proxymodul i .NET Framework
Kontroller typeindlæsning, konfiguration af den eksekverbare fil og anmodningsoverskrivninger, når et defaultProxy-modul ser ud til at være uden effekt.
For et .NET Framework-program skal du registrere proxymodulet under configuration/system.net/defaultProxy:
<defaultProxy>
<module type="Company.Network.RoutingProxy, Company.Network" />
</defaultProxy>Det første navn er typen, og det andet er dets assembly-identitet, ikke en DLL-sti. Assemblyen og afhængighederne skal indlæses efter programmets normale regler.
Kontroller to porte. For det første skal runtime oprette en offentlig type, der implementerer IWebProxy via en parameterløs konstruktør. Behold indre undtagelser fra indlæsnings- eller konstruktionsfejl; de kommer før enhver proxy-TCP-forbindelse. For en desktop-udgivelse skal du bekræfte, at registreringen nåede den eksekverbare fils udrullede konfiguration. Med ClickOnce skal du sammenligne den byggede, publicerede og installerede .exe.config. En klassebiblioteks App.config konfigurerer normalt ikke dens værtproces.
For det andet skal anmodningen bruge den standard. En eksplicit proxy-tildeling kan tilsidesætte den, og en anden HTTP-stak læser muligvis ikke denne konfigurationsmodel. Inde i modulet har GetProxy og IsBypassed brug for konsistente beslutninger med en absolut proxy-URI, der bruger det korrekte skema og den korrekte port.
Gør også legitimationsadfærden konsistent. En getter, der fremstiller en hardkodet konto og ignorerer sin setter, kan omgøre senere konfiguration, selv efter at indlæsningen lykkes.
Dette er en vedligeholdelsesmekanisme til .NET Framework. Brug netværksklientens understøttede proxykonfiguration i nuværende .NET i stedet for at forvente, at denne forældede system.net-registrering styrer enhver HttpClient.