Bagikan melalui


Proxy

Proksi berada di ruang alamat proses panggilan dan bertindak sebagai pengganti untuk objek jarak jauh. Dari perspektif objek panggilan, proksi adalah objek . Biasanya, peran proksi adalah mengemas parameter antarmuka untuk panggilan ke metode di antarmuka objeknya. Proksi mengemas parameter ke dalam buffer pesan dan meneruskan buffer ke saluran, yang menangani transportasi antar proses. Proksi diimplementasikan sebagai objek agregat, atau komposit. Ini berisi bagian manajer yang disediakan sistem yang disebut manajer proksi dan satu atau beberapa komponen khusus antarmuka yang disebut proksi antarmuka. Jumlah proksi antarmuka sama dengan jumlah antarmuka objek yang telah diekspos ke klien tertentu. Untuk klien yang mematuhi model objek komponen, proksi tampaknya menjadi objek nyata.

Nota

Dengan marshaling kustom, proksi dapat diimplementasikan dengan cara yang sama atau dapat berkomunikasi langsung dengan objek tanpa menggunakan stub.

 

Setiap proksi antarmuka adalah objek komponen yang mengimplementasikan kode marshaling untuk salah satu antarmuka objek. Proksi mewakili objek yang menyediakan kode marshaling. Setiap proksi juga mengimplementasikan antarmukaIRpcProxyBuffer. Meskipun antarmuka objek yang diwakili oleh proksi bersifat publik, implementasi IRpcProxyBuffer bersifat privat dan digunakan secara internal dalam proksi. Manajer proksi melacak proksi antarmuka dan juga berisi implementasi publik dari antarmukaIUnknownpengontrol untuk agregat. Setiap proksi antarmuka dapat ada di DLL terpisah yang dimuat ketika antarmuka yang didukungnya diwujudkan ke klien.

Struktur Proksi

Diagram berikut menunjukkan struktur proksi yang mendukung marshaling standar parameter milik dua antarmuka: IA1 dan IA2. Setiap proksi antarmuka mengimplementasikan IRpcProxyBuffer untuk komunikasi internal antara potongan agregat. Ketika proksi siap untuk melewati parameter marshaled-nya di seluruh batas proses, proksi memanggil metode di antarmukaIRpcChannelBuffer, yang diimplementasikan oleh saluran. Saluran pada gilirannya meneruskan panggilan ke pustaka run-time RPC sehingga dapat mencapai tujuannya di objek.

Diagram yang memperlihatkan struktur proksi.

Saluran

KomunikasiInter-Object

Detail Marshaling

Microsoft RPC

Stub