შეინახეთ ASMX პროქსის პარამეტრები გენერირებული Reference.cs-ის გარეთ
დააკონფიგურირეთ ASMX სერვისის კლიენტი მისი საჯარო პროქსის თვისებების მეშვეობით და შეინახეთ საჭირო მოთხოვნის მორგება ხელახლა გენერირებული მითითების ფაილებისგან დამოუკიდებლად.
.NET Framework-ის HttpWebClientProtocol-ზე დაფუძნებული ASMX კლიენტისთვის დააკონფიგურირეთ მისი საჯარო Proxy პირველ ქსელურ ოპერაციამდე:
var service = new ReportsService();
service.Proxy = new WebProxy("http://proxy.example:8080")
{
Credentials = proxyAccount
};
ReportsService არის გენერირებული კლასი, ხოლო proxyAccount მოდის განლაგებიდან. SOAP სერვისის სერტიფიკატები ცალკეა. ეს მინიჭება არ საჭიროებს გამეორებას ყოველი გენერირებული ოპერაციის შიგნით.
თუ ცვლილება ეხება ძირეულ მოთხოვნის ოფციას ან ინსტრუმენტაციას, გამოიყენეთ ძველი ბაზისის გადაფარვადი GetWebRequest(Uri). როცა გენერირებული კლასი ნაწილობრივია, შეინახეთ შესაბამისი ნაწილობრივი დეკლარაცია ცალკე კომპილირებულ ფაილში; წინააღმდეგ შემთხვევაში შესაბამის წარმოებულ კლიენტს შეუძლია უზრუნველყოს გადაფარვა. გამოიძახეთ ბაზისის იმპლემენტაცია და შეინარჩუნეთ მოთხოვნის ჩვეულებრივი აწყობა.
ეს განლაგება უძლებს ვებ მითითების განახლებას: ხელახალი გენერაცია შეიძლება ჩაანაცვლოს ხელით შეტანილი ცვლილებები Reference.cs-ში, ხოლო ცალკე შენახული გაფართოებები რჩება აღწარმოებადი.
შეცვალეთ მხოლოდ ის მოთხოვნის ქცევა, რომელიც ნამდვილად საჭიროა. KeepAlive გადაწყვეტის კოპირებამ შეიძლება გავლენა მოახდინოს კავშირის ხელახალ გამოყენებასა და კავშირის მდგომარეობაზე დამოკიდებულ ავთენტიფიკაციაზე.
ეს არის ASMX/.NET Framework მოდელი. WCF-ს და სხვა SOAP სტეკებს აქვთ საკუთარი ტრანსპორტის ინტერფეისები. აირჩიეთ მხარდაჭერილი კლიენტის პარამეტრი სანამ შემოიტანთ მორგებულ გაფართოებას.