Handel Konteks

Terkadang kasus aplikasi terdistribusi mengharuskan program server untuk mempertahankan informasi status antara panggilan klien. Program server yang melayani lebih dari satu klien pada satu waktu harus menyimpan informasi status untuk setiap klien. Karena klien dan server menggunakan ruang alamat yang berbeda di komputer yang berbeda, dan mereka tidak selalu mempercayai satu sama lain, pendekatan umum untuk berbagi data sering kali tidak berfungsi. Misalnya, klien dan server tidak dapat mempertahankan informasi status pada sesi jarak jauh mereka dalam variabel global karena mereka tidak berbagi ruang alamat global yang sama. Sulit untuk menyimpan informasi dalam file bersama karena dijalankan pada komputer yang berbeda. Pendekatan sederhana mungkin untuk mengirim semua status ke klien dan meminta klien mengembalikannya pada panggilan berikutnya, tetapi pendekatan ini memiliki kelemahan: server tidak selalu mempercayai klien untuk mengembalikan status yang tepat, dan status mungkin secara implisit terkait dengan beberapa status lain di server, seperti handel file atau soket yang dibuka.

Microsoft RPC menyediakan mekanisme yang kuat dan aman yang disebut handel konteks untuk menjaga status yang terkait dengan klien tertentu di server. Informasi status disebut konteks server. Klien dapat memperoleh handel konteks untuk mengidentifikasi konteks server untuk sesi RPC individual mereka.

Sebagai contoh, setiap klien dalam aplikasi terdistribusi dapat meminta program server membuat dan memperbarui file data untuk sesi RPC mereka. Server dapat menggunakan handel file untuk setiap file data klien sebagai handel konteks. Setiap kali klien meminta operasi pada file data yang dibuat server untuk itu, klien meneruskan handel konteks ke server. Klien sebenarnya tidak mendapatkan handel file itu sendiri; ini mendapatkan token buram yang dapat dikaitkan secara unik dengan handel file server RPC. Karena handel konteks benar-benar merupakan handel file, handel konteks hanya masuk akal di ruang alamat server. Namun, program klien dapat menggunakan handel konteks untuk memberi tahu server tentang file mana yang akan melakukan pembaruan.

Data lain juga dapat menjadi handel konteks. Misalnya, klien dan server dapat menggunakan jumlah rekaman rekaman database sebagai handel file. Jika klien perlu melakukan sejumlah pembaruan pada rekaman tertentu, klien dapat memperoleh nomor rekaman sebagai handel konteks. Ini akan meneruskan nomor rekaman ke server setiap kali memanggil prosedur jarak jauh untuk memperbarui catatan database.

Paling sering handel konteks menunjuk ke blok memori di server tempat server menyimpan berbagai informasi manajemen.

Bagian ini menyajikan informasi tentang menentukan dan menggunakan handel konteks. Diskusi disajikan dalam topik berikut: