SqlDependency.Start 方法

定義

啟動接聽程式,以接收相依性變更告知。

多載

Start(String)

啟動接聽程式,從連接字串所指定的 SQL Server 執行個體接收相依性變更告知。

Start(String, String)

啟動接聽程式,從連接字串所指定的 SQL Server 執行個體並使用指定的 SQL Server Service Broker 佇列,接收相依性變更告知。

備註

當 SQL Server 連線發生錯誤時,接SqlDependency聽程式將會重新啟動。

您可以對 方法進行 Start 多個呼叫,但受限於下列限制:

  • 多個具有相同參數的呼叫 (呼叫線程中的相同 連接字串 和 Windows 認證) 有效。

  • 只要下列專案,具有不同連接字串的多個呼叫都有效:

    • 每個 連接字串 都會指定不同的資料庫,或

    • 每個 連接字串 都會指定不同的使用者,或

    • 呼叫來自不同的應用程式域。

您可以讓 SqlDependency 使用多個線程的應用程式正確運作,以代表不同的用戶認證,而不需要將 dbo 角色提供給群組,因為不同的使用者可以使用 SqlCacheDependencySqlCommand) 訂閱和接聽 (由系統管理員建立的通知佇列。 當相關的應用程式域啟動時,請呼叫 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。

connectionString 參數和這個方法的前一個呼叫相同,但參數不同。

方法從 CLR 中呼叫。

呼叫端沒有必要的 SqlClientPermission 程式碼存取安全性 (CAS) 使用權限。

後續的方法呼叫使用對等 connectionString 參數,但使用者不同或使用者未預設為相同結構描述。

此外,也會發生任何基礎 SqlClient 例外狀況。

備註

這個方法會啟動 的 接聽程式AppDomain,以便從 參數所connectionString指定之 SQL Server 實例接收相依性通知。 這個方法可以多次呼叫,並針對多部伺服器使用不同的連接字串。

如需其他備註,請參閱 Start

另請參閱

適用於

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。

connectionString 參數和這個方法的前一個呼叫相同,但參數不同。

方法從 CLR 中呼叫。

呼叫端沒有必要的 SqlClientPermission 程式碼存取安全性 (CAS) 使用權限。

後續的方法呼叫使用對等 connectionString 參數,但使用者不同或使用者未預設為相同結構描述。

此外,也會發生任何基礎 SqlClient 例外狀況。

備註

這個方法會啟動 的 接聽程式AppDomain,以便從 參數所connectionString指定之 SQL Server 實例接收相依性通知。 這個方法可以多次呼叫,並針對多部伺服器使用不同的連接字串。

如果未指定佇列名稱, SqlDependency 則即使進程牽涉到多個 AppDomain,也會在用於整個進程的伺服器中建立暫存佇列和服務。 佇列和服務會在應用程式關機時自動移除。

如需其他備註,請參閱 Start

另請參閱

適用於