SqlDependency.Start 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
啟動接聽程式,以接收相依性變更告知。
多載
Start(String) |
啟動接聽程式,從連接字串所指定的 SQL Server 執行個體接收相依性變更告知。 |
Start(String, String) |
啟動接聽程式,從連接字串所指定的 SQL Server 執行個體並使用指定的 SQL Server Service Broker 佇列,接收相依性變更告知。 |
備註
當 SQL Server 連線發生錯誤時,接SqlDependency聽程式將會重新啟動。
您可以對 方法進行 Start 多個呼叫,但受限於下列限制:
多個具有相同參數的呼叫 (呼叫線程中的相同 連接字串 和 Windows 認證) 有效。
只要下列專案,具有不同連接字串的多個呼叫都有效:
每個 連接字串 都會指定不同的資料庫,或
每個 連接字串 都會指定不同的使用者,或
呼叫來自不同的應用程式域。
您可以讓 SqlDependency 使用多個線程的應用程式正確運作,以代表不同的用戶認證,而不需要將 dbo 角色提供給群組,因為不同的使用者可以使用 SqlCacheDependency 或 SqlCommand) 訂閱和接聽 (由系統管理員建立的通知佇列。 當相關的應用程式域啟動時,請呼叫 Start with the (Windows) 認證,該使用者有權初始化服務/佇列, (資料庫的 CREATE QUEUE 和 CREATE SERVICE 許可權) 。 請確定每個 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。
另請參閱
- ConnectionString
- 使用查詢通知
- ADO.NET 概觀 \(部分機器翻譯\)
適用於
Start(String, String)
啟動接聽程式,從連接字串所指定的 SQL Server 執行個體並使用指定的 SQL Server Service Broker 佇列,接收相依性變更告知。
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。
另請參閱
- ConnectionString
- 使用查詢通知
- ADO.NET 概觀 \(部分機器翻譯\)