Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A proxy a hívási folyamat címterében található, és helyettesítőként működik a távoli objektum számára. A hívó objektum szempontjából a proxy az objektum. A proxy szerepe általában az, hogy az objektumillesztőkbe csomagolja a metódusok hívásainak interfészparamétereit. A proxy egy üzenetpufferbe csomagolja a paramétereket, és átadja a puffert a csatornának, amely kezeli a folyamatok közötti átvitelt. A proxy aggregátumként vagy összetett objektumként van implementálva. Tartalmaz egy rendszer által biztosított, a proxykezelőnek nevezett kezelőelemet és egy vagy több interfészspecifikus összetevőt, úgynevezett interfészproxykat. Az illesztő proxyk száma megegyezik az adott ügyfél számára közzétett objektumillesztők számával. Az összetevőobjektum-modellnek megfelelő ügyfél számára úgy tűnik, hogy a proxy az igazi objektum.
Jegyzet
Az egyéni marsallással a proxy hasonlóan implementálható, vagy közvetlenül kommunikálhat az objektummal csonk használata nélkül.
Minden illesztőproxy egy összetevőobjektum, amely implementálja az objektum egyik illesztőjének marshaling kódját. A proxy azt az objektumot jelöli, amelyhez marshaling kódot biztosít. Minden proxy implementálja a IRpcProxyBuffer felületet is. Bár a proxy által képviselt objektumfelület nyilvános, az IRpcProxyBuffer implementáció privát, és a proxyn belül használatos. A proxykezelő nyomon követi az interfészproxykat, és tartalmazza a vezérlő IUnknown felület nyilvános implementálását is az összesítéshez. Az egyes illesztőproxyk külön DLL-ben is létezhetnek, amelyek akkor töltődnek be, amikor az általa támogatott felület megvalósul az ügyfél számára.
A proxy felépítése
Az alábbi ábra egy proxy szerkezetét mutatja be, amely támogatja a két interfészhez tartozó paraméterek szabványos marshalingját: IA1 és IA2. Minden interfészproxy implementálja IRpcProxyBuffer az összesítő részek közötti belső kommunikációhoz. Ha a proxy készen áll arra, hogy a folyamat határán keresztül adja át a marshaled paramétereket, meghívja a metódusokat a IRpcChannelBuffer felületen, amelyet a csatorna implementál. A csatorna viszont továbbítja a hívást az RPC futásidejű kódtárának, hogy elérhesse a célhelyét az objektumban.
Kapcsolódó témakörök