Поделиться через


SqlDependency.Start Метод

Определение

Запускает прослушиватель для получения уведомлений об изменении зависимости.

Перегрузки

Start(String)

Запускает прослушиватель для получения уведомлений об изменении зависимости от экземпляра SQL Server, заданного в строке подключения.

Start(String, String)

Запускает прослушиватель для получения уведомлений об изменении зависимости от экземпляра SQL Server, заданного в строке подключения, с использованием заданной очереди сервис-брокера SQL Server.

Комментарии

Прослушиватель SqlDependency перезапустится при возникновении ошибки в SQL Server подключении.

Можно выполнить Start несколько вызовов метода с учетом следующих ограничений:

  • Допустимы несколько вызовов с одинаковыми параметрами (одинаковые строка подключения и учетные данные Windows в вызывающем потоке).

  • Несколько вызовов с разными строками подключения допустимы при условии, что:

    • В каждом строка подключения указывается другая база данных;

    • В каждой строка подключения указывается отдельный пользователь или

    • Вызовы поступают из разных доменов приложений.

Вы можете правильно работать SqlDependency для приложений, которые используют несколько потоков для представления разных учетных данных пользователя, не предоставляя группе роль dbo, так как разные пользователи могут подписываться и прослушивать (с помощью SqlCacheDependency или SqlCommand) очередь уведомлений, созданную администратором. При запуске соответствующего домена приложения вызовите команду Start с учетными данными (Windows) пользователя, имеющего разрешение на инициализацию службы или очереди (разрешения CREATE QUEUE и CREATE SERVICE для базы данных). Убедитесь, что 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.

Вызывающий код не имеет разрешения на управление доступом для кода (CAS), возвращенного SqlClientPermission.

Следующий вызов этого метода выполнен с эквивалентным параметром connectionString, содержащим другое имя пользователя, или пользователь не является используемым по умолчанию в той же схеме.

Кроме того, любые базовые исключения SqlClient.

Комментарии

Этот метод запускает прослушиватель для AppDomain для получения уведомлений о зависимостях от экземпляра SQL Server, указанного параметром connectionString . Этот метод можно вызывать несколько раз с разными строками подключения для нескольких серверов.

Дополнительные замечания см. в разделе Start.

См. также раздел

Применяется к

Start(String, String)

Запускает прослушиватель для получения уведомлений об изменении зависимости от экземпляра SQL Server, заданного в строке подключения, с использованием заданной очереди сервис-брокера 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. Если значение null, используется очередь по умолчанию.

Возвращаемое значение

Значение true, если прослушиватель инициализирован успешно; значение false, если совместимый прослушиватель уже существует.

Исключения

Параметр connectionString имеет значение NULL.

Параметр connectionString такой же, как в предыдущем вызове этого метода, но параметры различны.

Этот метод вызывается из CLR.

Вызывающий код не имеет разрешения на управление доступом для кода (CAS), возвращенного SqlClientPermission.

Следующий вызов этого метода выполнен с эквивалентным параметром connectionString, содержащим другое имя пользователя, или пользователь не является используемым по умолчанию в той же схеме.

Кроме того, любые базовые исключения SqlClient.

Комментарии

Этот метод запускает прослушиватель для AppDomain для получения уведомлений о зависимостях от экземпляра SQL Server, указанного параметром connectionString . Этот метод можно вызывать несколько раз с разными строками подключения для нескольких серверов.

Если имя очереди не указано, SqlDependency создается временная очередь и служба на сервере, которые используются для всего процесса, даже если процесс включает несколько AppDomain. Очередь и служба автоматически удаляются после завершения работы приложения.

Дополнительные замечания см. в разделе Start.

См. также раздел

Применяется к