أبقِ إعدادات وكيل ASMX خارج ملف Reference.cs المُولَّد
اضبط عميل خدمة ASMX عبر خصائص الوكيل العامة فيه، وأبقِ تخصيصات الطلب اللازمة منفصلة عن ملفات المراجع المُعاد توليدها.
بالنسبة لعميل ASMX المبني على HttpWebClientProtocol في .NET Framework، اضبط 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 فلها واجهات نقل خاصة بها. اختر إعداد العميل المدعوم قبل إدخال امتداد مخصص.