訂閱管理 API
當您建置訂閱管理介面時,會管理三種類型的物件:訂閱者、訂閱者裝置以及訂閱。您的自訂應用程式是利用 Notification Services 訂閱管理 API 來建立、修改和刪除這些物件。在內部,API 將訂閱者和訂閱資訊儲存在執行個體和應用程式資料庫中,並且在此處操作它們。
Notification Services 也會在執行個體和應用程式資料庫中提供檢視,讓您將基本訂閱者、訂閱者裝置以及訂閱直接加入資料庫中。這些檢視主要是用來開發和測試應用程式。
![]() |
---|
請務必使用 API 或檢視,來管理訂閱者、訂閱者裝置以及訂閱資料;切勿直接操作基礎資料表。 |
訂閱管理 API
下圖將告訴您,訂閱管理介面如何使用訂閱管理物件與 Notification Services 通訊。
- Subscriber 物件代表單一訂閱者。訂閱者是指由訂閱者識別碼識別的人或處理序。訂閱者資料是儲存在執行個體資料庫中,讓應用程式之間共用訂閱者。
- SubscriberDevice 物件代表訂閱者的單一訂閱者裝置。訂閱者裝置是通知傳遞的一個傳遞端點,例如,電子郵件地址。
每一個訂閱者至少必須有一個訂閱者裝置。訂閱者裝置資料 (例如,訂閱者資料) 是儲存在執行個體資料庫中。
每一個訂閱者裝置都有一個名稱和位址,並且與一個傳遞通道相關聯。傳遞通道代表一個特定的傳遞服務,用來傳遞通知給裝置,例如,特定的 Simple Mail Transfer Protocol (SMTP) 閘道。傳遞通道是在設定 Notification Services 的執行個體時設定的。 - Subscription 物件代表訂閱者的單一訂閱。訂閱可以定義訂閱者希望收到哪些通知。訂閱是針對特定的訂閱類別而設,也可以針對事件驅動或排定的訂閱而設。訂閱會定義訂閱類別欄位的值。
如果訂閱類別是採用條件動作,訂閱也可以指定一個條件,用來判斷是否應該針對該訂閱而產生通知。您的應用程式必須在 Microsoft.SqlServer.NotificationServices.Rules 命名空間中使用類別,才能支援條件開發。
訂閱資料儲存在應用程式資料庫中。
訂閱管理類別
Microsoft.SqlServer.NotificationServices 命名空間中的下列類別,是用來開發訂閱管理介面。
類別 | 描述 |
---|---|
Subscriber |
代表給定 Notification Services 執行個體中的個別訂閱者。 |
代表給定 Notification Services 執行個體中的訂閱者集合。 |
|
SubscriberDevice |
代表可以接收通知的裝置。 |
代表訂閱者裝置的集合。 |
|
Subscription |
代表單一訂閱。 |
代表訂閱的集合。 |
|
代表要將通知格式化的地理界限。 |
|
代表給定 Notification Services 執行個體中所能使用的訂閱者地區設定集合。 |
|
代表排定之訂閱所用的有效時區。 |
|
代表給定 Notification Services 執行個體中所能使用的時區集合。 |
|
代表為給定之應用程式指定的訂閱類別。 |
|
代表給定 Notification Services 應用程式中的訂閱類別集合。 |
|
代表 Notification Services 應用程式。 |
|
代表 Notification Services 執行個體。 |
|
代表在 Notification Services 應用程式錯誤發生時,所擲出的例外狀況。 |
訂閱條件類別
如果訂閱類別包含使用條件動作的規則,您就得在 Microsoft.SqlServer.NotificationServices.Rules 命名空間使用類別,讓使用者定義條件。
類別 | 描述 |
---|---|
定義一組利用 AND 布林邏輯加以評估的條件。 |
|
如果測試引數介於最小值和最大值之間 (含),則評估為 true。 |
|
如果布林值引數為 true,則評估為 true。 |
|
代表其值已經預先決定的引數。 |
|
運算式運算子。 |
|
代表已經評估簡式算術運算式而決定其值的引數。 |
|
代表從輸入欄位取得其值的條件引數。 |
|
篩選動作。 |
|
根據條件評估結果來定義輸入資料表或檢視的篩選。篩選規則是由一或多個篩選陳述式所組成。 |
|
描述格式為 "IF Condition THEN Action" 的邏輯陳述式。 |
|
代表從 Transact-SQL 使用者自訂函數取得值的引數。 |
|
如果其引數為 NULL,則評估為 true。 |
|
針對相關篩選規則的結果所進行的評估作業。 |
|
連結分葉條件的運算子。 |
|
執行另一個條件結果的否定運算。 |
|
定義一組利用 OR 布林邏輯加以邏輯評估的條件。 |
|
針對輸入資料表或檢視中的任何資料列,定義評估為純量值的邏輯。屬性規則是由一或多個屬性陳述式所組成。 |
|
描述格式為 "IF Condition THEN Result",其結果為純量值的邏輯陳述式。 |
|
代表由此命名空間物件所擲出的例外狀況。 |
|
代表從其他規則評估取得其值的引數。 |
|
利用關係運算子比較兩個引數,然後傳回布林結果。 |
|
簡式分葉條件的運算子。 |
|
描述可作為規則輸入使用的資料表。 |
|
描述可作為規則輸入使用的檢視。 |
訂閱管理類別
上述類別是為了管理訂閱者、訂閱者裝置和訂閱資料而設。如果您要建置一個應用程式,來管理 Notification Services 的執行個體,請在 Microsoft.SqlServer.Management.Nmo 命名空間使用下列類別,來啟用和停用訂閱者和訂閱。
類別 | 描述 |
---|---|
提供方法來啟用和停用訂閱者管理。 |
|
提供方法來啟用和停用訂閱管理。 |
訂閱管理檢視
Notification Services 會公開檢視,來管理針對應用程式測試所用的訂閱者資料。如需詳細資訊,請參閱下列主題: