订阅管理 API

生成订阅管理界面时,您将管理三种类型的对象:订阅方、订阅方设备和订阅。自定义应用程序使用 Notification Services 订阅管理 API 来创建、修改和删除这些对象。该 API 在内部存储和操作在实例和应用程序数据库中的订阅方和订阅信息。

Notification Services 还在实例和应用程序数据库中提供了视图,可以使用这些视图将基本订阅方、订阅方设备和订阅直接添加到数据库中。这些视图主要用于开发和测试应用程序。

ms166467.note(zh-cn,SQL.90).gif重要提示:
请务必使用该 API 或视图来管理订阅方、订阅方设备和订阅数据,切勿直接操作基础表。

订阅管理 API

下图说明了订阅管理界面如何使用订阅管理对象来与 Notification Services 通信。

订阅管理体系结构

  • Subscriber 对象表示一个订阅方。订阅方是由订阅方 ID 标识的用户或进程。订阅方数据存储在实例数据库中,因此可在应用程序之间共享订阅方。
  • SubscriberDevice 对象表示订阅方的一个订阅方设备。订阅方设备是通知传递的传递端点,如电子邮件地址。
    每个订阅方必须至少有一个订阅方设备。订阅方设备数据(如订阅方数据)存储在实例数据库中。
    每个订阅方设备都有一个名称和地址,并与传递通道关联。传递通道表示一项特定的传递服务,该服务用于将通知传递给设备,如特定的简单邮件传输协议 (SMTP) 网关。在配置 Notification Services 实例时即可配置传递通道。
  • Subscription 对象表示订阅方的一个订阅。订阅可以确定订阅方想要接收的通知。订阅属于特定的订阅类,并可以分为事件驱动订阅或预定的订阅。订阅可定义订阅类字段的值。
    如果订阅类使用条件操作,则订阅还可以指定一个条件,用于确定是否应为订阅生成通知。应用程序必须使用 Microsoft.SqlServer.NotificationServices.Rules 命名空间中的类来支持条件开发。
    订阅数据存储在应用程序数据库中。

订阅管理类

Microsoft.SqlServer.NotificationServices 命名空间中的以下类用于开发订阅管理界面。

说明

Subscriber

表示给定 Notification Services 实例中的单个订阅方。

SubscriberEnumeration

表示给定 Notification Services 实例中的订阅方集合。

SubscriberDevice

表示可以接收通知的设备。

SubscriberDeviceEnumeration

表示订阅方设备集合。

Subscription

表示单个订阅。

SubscriptionEnumeration

表示订阅集合。

SubscriberLocale

表示格式化通知所针对的地理区域。

SubscriberLocaleEnumeration

表示给定 Notification Services 实例中可用的订阅方区域设置集合。

TimeZone

表示用于预定的订阅的有效时区。

TimeZoneEnumeration

表示给定 Notification Services 实例中可用的时区集合。

SubscriptionClass

表示为给定应用程序指定的订阅类。

SubscriptionClassEnumeration

表示给定 Notification Services 应用程序中的订阅类集合。

NSApplication

表示 Notification Services 应用程序。

NSInstance

表示 Notification Services 实例。

NSException

表示发生 Notification Services 应用程序错误时引发的异常。

订阅条件类

如果订阅类包含使用条件操作的规则,则将使用 Microsoft.SqlServer.NotificationServices.Rules 命名空间中的类以允许用户定义条件。

说明

AndCondition

定义一组要使用 Boolean 逻辑 AND 来求值的条件。

BetweenLeafCondition

如果测试参数界于最小值和最大值(含)之间,则计算结果为 true

BooleanLeafCondition

如果 Boolean 值参数为 True,则计算结果为 True。

ConstantValue

表示一个包含预设值的参数。

ExpressionOperator

表达式运算符。

ExpressionValue

表示通过计算简单算术表达式来确定值的参数。

FieldValue

表示一个从输入字段获取值的条件参数。

FilterAction

筛选器操作。

FilterRule

根据计算出的条件结果,定义一个输入表或视图的筛选器。筛选器规则由一个或多个筛选器语句组成。

FilterStatement

以“IF 条件 THEN 操作”的格式说明逻辑语句。

FunctionValue

表示通过 Transact-SQL 用户定义的函数获取值的参数。

IsNullLeafCondition

如果它的参数为 NULL,则计算结果为 true

LinkLeafCondition

针对相关筛选器规则的结果计算操作。

LinkLeafOperator

Link leaf 条件的运算符。

NotCondition

对其他条件的结果求反。

OrCondition

定义一组要使用 Boolean 逻辑 OR 进行逻辑计算的条件。

PropertyRule

定义针对输入表或视图中的任何行计算结果为标量值的逻辑。属性规则由一个或多个属性语句组成。

PropertyStatement

以“IF 条件 THEN 结果”的格式说明一个逻辑语句(其结果为标量值)。

RulesException

表示由此命名空间中的对象引发的异常。

RuleValue

表示通过计算其他规则来获取值的参数。

SimpleLeafCondition

使用关系运算符来比较两个参数,并返回 Boolean 结果。

SimpleOperator

简单 link leaf 条件的运算符。

TableInputType

说明可用作规则的输入的表。

ViewInputType

说明可用作规则的输入的视图。

订阅管理类

以上类用于管理订阅方、订阅方设备和订阅数据。如果要生成一个应用程序来管理 Notification Services 实例,请使用 Microsoft.SqlServer.Management.Nmo 命名空间中的以下类来启用和禁用订阅方和订阅。

说明

Instance

提供用于启用和禁用订阅方管理的方法。

Application

提供用于启用和禁用订阅管理的方法。

订阅管理视图

Notification Services 提供了用于管理订阅方数据的视图(主要用于应用程序测试)。有关详细信息,请参阅以下主题:

请参阅

概念

启动订阅管理项目

其他资源

开发订阅管理界面
管理订阅服务器
管理订阅方设备
管理订阅数据

帮助和信息

获取 SQL Server 2005 帮助