Laikykite ASMX tarpinio serverio parametrus už sugeneruoto Reference.cs ribų
Konfigūruokite ASMX paslaugos klientą per jo viešąsias tarpinio serverio savybes ir laikykite reikalingą užklausos pritaikymą atskirai nuo iš naujo generuojamų nuorodų failų.
ASMX klientui, pagrįstam .NET Framework HttpWebClientProtocol, sukonfigūruokite viešąją Proxy prieš pirmąjį tinklo veiksmą:
var service = new ReportsService();
service.Proxy = new WebProxy("http://proxy.example:8080")
{
Credentials = proxyAccount
};
ReportsService yra sugeneruota klasė, o proxyAccount ateina iš diegimo. SOAP paslaugos kredencialai yra atskiri. Šio priskyrimo nereikia kartoti kiekvienoje sugeneruotoje operacijoje.
Jei pakeitimas susijęs su pagrindine užklausos parinktimi arba instrumentavimu, naudokite senosios bazinės klasės perrašomą GetWebRequest(Uri). Kai sugeneruota klasė yra dalinė, laikykite atitinkamą dalinę deklaraciją atskirame sukompiliuotame faile; priešingu atveju perrašymą gali pateikti tinkama išvestinė klasė. Iškvieskite bazinę implementaciją ir išsaugokite įprastą užklausos sudarymą.
Ši vieta išlieka atnaujinus žiniatinklio nuorodą: generavimas iš naujo gali pakeisti rankinius pakeitimus Reference.cs faile, o atskirai prižiūrimi plėtiniai išlieka atkuriami.
Keiskite tik tikrai reikalingą užklausos elgseną. KeepAlive sprendimo kopijavimas gali paveikti ryšio pakartotinį naudojimą ir autentifikavimą, priklausantį nuo ryšio būsenos.
Tai ASMX/.NET Framework modelis. WCF ir kiti SOAP rinkiniai turi savo transportavimo sąsajas. Pasirinkite palaikomą kliento parametrą prieš įvesdami pasirinktinį plėtinį.