在呼叫之間維護伺服器上的狀態
通常必須在不同的 RPC 呼叫之間維護伺服器上的狀態,使用內容控制碼是執行這項操作的最佳方式。 關於內容控制碼在內部運作方式的幾個字,有助於瞭解內容控制碼的運作方式。
用戶端永遠不會收到伺服器上保留的狀態。 伺服器上的狀態通常是記憶體區塊的指標,而且用戶端沒有相關資訊。 所有用戶端接收都是大型的唯一數位,其與其他資訊相關聯,伺服器會傳送至用戶端,並代表所有後續作業中的內容控制碼。 每當用戶端參考開啟的控制碼時,它會傳送在開啟該內容控制碼時從伺服器收到的大量控制碼。
伺服器會持續追蹤它傳送至用戶端的所有大型數位。 當伺服器收到大量代表內容控制碼時,它會查閱該用戶端有效、未處理之內容控制碼集合中的數位,並尋找對應至指定大量數量的伺服器端內容。 這會傳遞至伺服器常式。 如果找不到大量,則會引發RPC_X_SS_CONTEXT_MISMATCH例外狀況並傳播至用戶端。
此設計的共同註冊如下:
- 內容控制碼只有在現有用戶端/伺服器會話的內容中才有效。 它無法傳遞至另一個用戶端。
- 如果伺服器重新開機,或遺失與用戶端的連線,內容控制碼會變成無效。
- 用戶端無法解譯伺服器上的內容控制碼所代表的內容。 對用戶端而言,所有內容控制碼只是大量的。
如果用戶端失敗,伺服器會收到通知,並使用執行機制清除其內容控制碼。