首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

Remoting 基本原理與擴充機制 (下-2):ContextBoundObject 與 ContextAttribute

     編輯:關於C語言

ContextBoundObject

  • 繼承 MarshalByRefObject,實例永遠在自己的 Context 執行。
  • 即使同一 AppDomain,跨 Context 存取也會透過 Transparent Proxy(訊息機制)。
  • 非 ContextBoundObject(Context-Agile)在呼叫端 Context 執行。

Context-Bound vs Agile

ContextAttribute

  • 套用於 ContextBoundObject 類別的 .NET Attribute。
  • 實作 IContextAttribute,提供 IsContextOK 判斷是否需新 Context。
  • 可套用多個,CLR 依序檢查。

四大 IContributeXXXSink 介面

各含 GetXXXSink 回傳 IMessageSink,對應四區域,功能類似 IClientChannelSinkProvider 但不透過設定檔,直接由 Context 屬性注入。

四大介面架構圖

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved