COM+ 共用屬性管理員概念

在 COM+中,物件的共用暫時性狀態是使用共用屬性管理員管理, (SPM) 。 SPM 是一種資源配置器,可用來在伺服器進程內的多個物件之間共用狀態。

您無法在分散式環境中使用全域變數,因為並行和名稱衝突問題。 共用屬性管理員藉由提供共用屬性群組來消除名稱衝突,這會為其包含的共用屬性建立唯一的命名空間。 SPM 也會實作鎖定和旗號,以協助保護共用屬性免于同時存取,這可能會導致更新遺失,並讓屬性處於無法預測的狀態。

注意

共用暫時性狀態是保留在記憶體中且無法存留系統失敗的狀態資訊。 這項資訊的設計目的是跨交易 (多個物件共用,但跨進程) 界限。

 

儲存在 SPM 中的共用屬性僅適用于在相同進程中執行的物件。 這表示將使用 SPM 儲存值的 物件,而且必須能夠存取這些值的物件必須安裝為相同 COM+ 應用程式的一部分。 系統管理員可以在部署 COM+ 應用程式之後,將 COM+ 類別從一個套件移至另一個套件。 如果您透過 SPM 依賴數個物件共用屬性,您應該清楚記載它們必須安裝在相同的 COM+ 應用程式中。

共用屬性的元件也必須具有相同的啟用屬性。 如果相同套件中的兩個元件有不同的啟用屬性,它們通常將無法共用屬性。 例如,如果某個元件設定為在用戶端進程中執行,而另一個元件設定為在伺服器進程中執行,則即使它們位於相同的封裝中,其物件通常會在不同的進程中執行。

您應該一律從 COM+ 元件,而不是從基底用戶端具現化 SharedPropertyGroupManagerSharedPropertyGroupSharedProperty 物件。 如果基底用戶端建立共用屬性群組和屬性,則共用屬性位於基底用戶端進程內,而不是在伺服器進程中。 這表示 COM+ 物件無法共用屬性,除非物件也在用戶端進程中執行, (這通常不是好主意) 。

COM+ 共用屬性管理員

共用屬性群組