Untuk klien ASMX yang berbasis HttpWebClientProtocol .NET Framework, konfigurasikan Proxy publiknya sebelum operasi jaringan pertama:

var service = new ReportsService();
service.Proxy = new WebProxy("http://proxy.example:8080")
{
    Credentials = proxyAccount
};

ReportsService adalah kelas yang dihasilkan dan proxyAccount berasal dari penerapan. Kredensial layanan SOAP terpisah. Penetapan ini tidak perlu diulang di dalam setiap operasi yang dihasilkan.

Jika perubahan menyangkut opsi permintaan yang mendasar atau instrumentasi, gunakan GetWebRequest(Uri) yang dapat ditimpa dari basis lama. Simpan deklarasi parsial yang cocok dalam berkas terkompilasi terpisah ketika kelas yang dihasilkan bersifat parsial; jika tidak, klien turunan yang sesuai dapat menyediakan penimpaan tersebut. Panggil implementasi basis dan pertahankan pembentukan permintaan normal.

Penempatan itu bertahan saat referensi web diperbarui: regenerasi dapat mengganti suntingan manual di Reference.cs, sementara ekstensi yang dipelihara terpisah tetap dapat direproduksi.

Ubah hanya perilaku permintaan yang benar-benar diperlukan. Menyalin solusi KeepAlive dapat memengaruhi penggunaan ulang koneksi dan autentikasi yang bergantung pada status koneksi.

Ini adalah model ASMX/.NET Framework. WCF dan tumpukan SOAP lain memiliki antarmuka transportasi sendiri. Pilih pengaturan klien yang didukung sebelum memperkenalkan ekstensi khusus.

Artikel terkait