SqlDependency.Start 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
启动用于接收依赖项更改通知的侦听器。
重载
Start(String) |
启动用于接收依赖项更改通知的侦听器,该通知来自由连接字符串指定的 SQL Server 实例。 |
Start(String, String) |
启动用于接收依赖项更改通知的侦听器,该侦听器使用指定的 SQL Server Service Broker 队列从由连接字符串指定的 SQL Server 实例接收。 |
注解
当SqlDependencySQL Server连接出错时,侦听器将重新启动。
可以多次调用 Start 方法,但有以下限制:
调用线程) 中具有相同参数的多个调用 (相同的连接字符串和 Windows 凭据有效。
具有不同连接字符串的多个调用只要有效:
每个连接字符串指定不同的数据库,或者
每个连接字符串指定不同的用户,或者
这些调用来自不同的应用程序域。
对于使用多个线程来表示不同用户凭据的应用程序,无需向组提供 dbo 角色即可正确执行 SqlDependency 工作,因为不同的用户可以使用 SqlCacheDependency 或 SqlCommand) 管理员创建的通知队列来订阅和侦听 (。 当相关应用程序域启动时,使用 (Windows) 有权初始化服务/队列的用户的凭据 (数据库) 的 CREATE QUEUE 和 CREATE SERVICE 权限调用 Start。 确保每个 AppDomain 仅调用一次 Start,否则将引发歧义异常。 用户线程必须具有订阅通知的权限, (数据库) 的 SUBSCRIBE QUERY NOTIFICATIONS 权限。 SqlDependency 将非管理员用户的订阅请求关联到管理员创建的服务/队列。
Start(String)
启动用于接收依赖项更改通知的侦听器,该通知来自由连接字符串指定的 SQL Server 实例。
public:
static bool Start(System::String ^ connectionString);
public static bool Start (string connectionString);
static member Start : string -> bool
Public Shared Function Start (connectionString As String) As Boolean
参数
- connectionString
- String
SQL Server 实例(从中获取更改通知)的连接字符串。
返回
如果侦听器初始化成功,则为 true
;如果已存在兼容的侦听器,则为 false
。
例外
connectionString
参数为 NULL。
调用方没有所必需的 SqlClientPermission 代码访问安全性 (CAS) 权限。
注解
此方法启动 的侦听器,AppDomain以便从 参数指定的 connectionString
SQL Server 实例接收依赖项通知。 对于多个服务器,可以使用不同的连接字符串多次调用此方法。
有关其他说明,请参阅 Start。
另请参阅
适用于
Start(String, String)
启动用于接收依赖项更改通知的侦听器,该侦听器使用指定的 SQL Server Service Broker 队列从由连接字符串指定的 SQL Server 实例接收。
public:
static bool Start(System::String ^ connectionString, System::String ^ queue);
public static bool Start (string connectionString, string queue);
static member Start : string * string -> bool
Public Shared Function Start (connectionString As String, queue As String) As Boolean
参数
- connectionString
- String
SQL Server 实例(从中获取更改通知)的连接字符串。
- queue
- String
要使用的现有 SQL Server Service Broker 队列。 如果为 null
,则使用默认队列。
返回
如果侦听器初始化成功,则为 true
;如果已存在兼容的侦听器,则为 false
。
例外
connectionString
参数为 NULL。
调用方没有所必需的 SqlClientPermission 代码访问安全性 (CAS) 权限。
注解
此方法启动 的侦听器,AppDomain以便从 参数指定的 connectionString
SQL Server 实例接收依赖项通知。 对于多个服务器,可以使用不同的连接字符串多次调用此方法。
如果未指定队列名称, SqlDependency 则会在服务器中创建用于整个进程的临时队列和服务,即使进程涉及多个 AppDomain。 应用程序关闭时会自动删除队列和服务。
有关其他说明,请参阅 Start。