Megosztás a következőn keresztül:


Szerializálási szolgáltatások

A Microsoft RPC két módszert támogat az adatok kódolására és dekódolására, együttesen adatok szerializálására. A szerializálás azt jelenti, hogy az adatok az Ön által felügyelt pufferekbe kerülnek, és nem lesznek elhatárolt állapotban. Ez eltér az RPC hagyományos használatától, amelyben a csonkok és az RPC futásidejű kódtár teljes mértékben felügyelik a tárolópuffereket, és a folyamat transzparens. A puffert állandó adathordozón, titkosítással és így tovább tárolhatja. Amikor adatokat kódol, az RPC-csonkok egy pufferbe rögzítik az adatokat, és átadják Önnek a puffert. Az adatok dekódolásakor egy tárolópuffert ad meg benne adatokkal, és az adatok nem lesznek elhatárolva a pufferből a memóriába. Szerializálható eljárás vagy típus alapján.

Jegyzet

A fejlesztők gyakran használják a szerializálás leírására a válogató kifejezést. A Windows SDK-minták egy pickle nevű könyvtárat tartalmaznak, amely megőrzi az RPC szerializálási mintaprogramjait.

 

A szerializálás az RPC-mechanizmusokat használja az adatok más célokra történő rögzítése és leválasztása céljából. Például ahelyett, hogy több I/O-műveletet használ egy objektumcsoport streambe való szerializálására, az alkalmazás optimalizálhatja a teljesítményt, ha több különböző típusú objektumot szerializál egy pufferbe, majd a teljes puffert egyetlen műveletbe írja. A szerializálási leírókat módosító függvények függetlenek a használt szerializálás típusától.

Egy másik példa, ha az RPC mellett hálózati átviteli mechanizmust is használnia kell, például a Microsoft Windows Socketst (Winsock). Az RPC szerializálásával a program meghívhat olyan függvényeket, amelyek pufferekbe továbbítja az adatokat, majd a Winsock használatával továbbítják ezeket az adatokat. Amikor az alkalmazás adatokat fogad, az RPC szerializálási mechanizmussal leválaszthatja az adatokat a Winsock-rutinok által kitöltött pufferekből. Ez az RPC-stílusú alkalmazások számos előnyét biztosítja, ugyanakkor lehetővé teszi a nem RPC átviteli mechanizmusok használatát.

A szerializálást a hálózati kommunikációtól független célokra is használhatja. Ha például az RPC-kódolási függvényeket használja az adatok pufferbe való áthelyezéséhez, egy fájlban tárolhatja, amelyet egy másik alkalmazás használhat. Azt is titkosíthatja. Azt is használhatja, hogy hardver- és operációs rendszerfüggetlen adatokat tároljon egy adatbázisban.

Az alábbi témakörök a Microsoft RPC által támogatott szerializálási szolgáltatások ismertetését ismertetik: