SqlDependency.Start Método

Definición

Inicia el agente de escucha para recibir notificaciones de cambio de dependencia.Starts the listener for receiving dependency change notifications.

Sobrecargas

Start(String)

Inicia el agente de escucha para recibir notificaciones de cambio de dependencia desde la instancia de SQL Server que especifique la cadena de conexión.Starts the listener for receiving dependency change notifications from the instance of SQL Server specified by the connection string.

Start(String, String)

Inicia el agente de escucha para recibir notificaciones de cambio de dependencia desde la instancia de SQL Server que especifique la cadena de conexión utilizando la cola de SQL Server Service Broker indicada.Starts the listener for receiving dependency change notifications from the instance of SQL Server specified by the connection string using the specified SQL Server Service Broker queue.

Comentarios

El SqlDependency agente de escucha se reiniciará cuando se produzca un error en la conexión SQL Server.The SqlDependency listener will restart when an error occurs in the SQL Server connection.

StartSe pueden realizar varias llamadas al método, sujeto a las siguientes restricciones:Multiple calls to the Start method can be made, subject to the following restrictions:

  • Son válidas varias llamadas con parámetros idénticos (la misma cadena de conexión y las mismas credenciales de Windows en el subproceso que realiza la llamada).Multiple calls with identical parameters (the same connection string and Windows credentials in the calling thread) are valid.

  • Varias llamadas con distintas cadenas de conexión son válidas siempre que:Multiple calls with different connection strings are valid as long as:

    • Cada cadena de conexión especifica una base de datos diferente, oEach connection string specifies a different database, or

    • Cada cadena de conexión especifica un usuario diferente, oEach connection string specifies a different user, or

    • Las llamadas proceden de distintos dominios de aplicación.The calls come from different application domains.

Puede hacer que el SqlDependency trabajo funcione correctamente para las aplicaciones que utilizan varios subprocesos para representar distintas credenciales de usuario sin asignar el rol DBO al grupo, ya que los distintos usuarios pueden suscribirse y escuchar (mediante SqlCacheDependency o SqlCommand ) una cola de notificación creada por un administrador.You can make the SqlDependency work correctly for applications that use multiple threads to represent different user credentials without giving the dbo role to the group, because different users can subscribe and listen (using SqlCacheDependency or SqlCommand) to a notification queue created by an administrator. Cuando se inicie el dominio de aplicación correspondiente, llame a Start con las credenciales de (Windows) de un usuario que tenga permiso para inicializar un servicio o una cola (los permisos crear cola y crear servicio para la base de datos).When the relevant application domain starts, call Start with the (Windows) credentials of a user that has permission to initialize a service/queue (the CREATE QUEUE and CREATE SERVICE permissions for the database). Asegúrese de que solo se llama a Start una vez por AppDomain; de lo contrario, se produce una excepción de ambigüedad.Ensure that Start is only called once per AppDomain, otherwise an ambiguity exception is raised. El subproceso de usuario debe tener permiso para suscribirse a la notificación (el permiso SUBSCRIBE QUERY NOTIFICAtions para la base de datos).The user thread must have permission to subscribe to the notification (the SUBSCRIBE QUERY NOTIFICATIONS permission for the database). SqlDependencyasociará la solicitud de suscripción de un usuario que no sea administrador con el servicio o la cola creados por el administrador.SqlDependency will associate the subscription request of a non-administrator user to the service/queue created by the administrator.

Start(String)

Inicia el agente de escucha para recibir notificaciones de cambio de dependencia desde la instancia de SQL Server que especifique la cadena de conexión.Starts the listener for receiving dependency change notifications from the instance of SQL Server specified by the connection string.

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

Parámetros

connectionString
String

Cadena de conexión para la instancia de SQL Server desde la que se van a obtener las notificaciones de cambio.The connection string for the instance of SQL Server from which to obtain change notifications.

Devoluciones

Boolean

true si el agente de escucha se ha inicializado correctamente, false si ya existe un agente de escucha compatible.true if the listener initialized successfully; false if a compatible listener already exists.

Excepciones

El parámetro connectionString es NULL.The connectionString parameter is NULL.

El parámetro connectionString es el mismo que el de una llamada anterior a este método, pero los parámetros son diferentes.The connectionString parameter is the same as a previous call to this method, but the parameters are different.

Se ha llamado al método desde CLR.The method was called from within the CLR.

El llamador no tiene el permiso de seguridad de acceso del código (CAS) SqlClientPermission necesario.The caller does not have the required SqlClientPermission code access security (CAS) permission.

Se ha realizado una llamada posterior al método con un parámetro connectionString equivalente pero con distinto usuario, o con un usuario que no tiene el mismo esquema como valor predeterminado.A subsequent call to the method has been made with an equivalent connectionString parameter with a different user, or a user that does not default to the same schema.

Además, cualquier excepción SqlClient subyacente.Also, any underlying SqlClient exceptions.

Comentarios

Este método inicia el agente de escucha de para AppDomain recibir notificaciones de dependencia de la instancia de SQL Server especificadas por el connectionString parámetro.This method starts the listener for the AppDomain for receiving dependency notifications from the instance of SQL Server specified by the connectionString parameter. Este método se puede llamar más de una vez con cadenas de conexión diferentes para varios servidores.This method may be called more than once with different connection strings for multiple servers.

Para obtener más comentarios, vea Start .For additional remarks, see Start.

Consulte también

Se aplica a

Start(String, String)

Inicia el agente de escucha para recibir notificaciones de cambio de dependencia desde la instancia de SQL Server que especifique la cadena de conexión utilizando la cola de SQL Server Service Broker indicada.Starts the listener for receiving dependency change notifications from the instance of SQL Server specified by the connection string using the specified SQL Server Service Broker queue.

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

Parámetros

connectionString
String

Cadena de conexión para la instancia de SQL Server desde la que se van a obtener las notificaciones de cambio.The connection string for the instance of SQL Server from which to obtain change notifications.

queue
String

Cola de SQL Server Service Broker existente que se va a utilizar.An existing SQL Server Service Broker queue to be used. Si es null, se utiliza la cola predeterminada.If null, the default queue is used.

Devoluciones

Boolean

true si el agente de escucha se ha inicializado correctamente, false si ya existe un agente de escucha compatible.true if the listener initialized successfully; false if a compatible listener already exists.

Excepciones

El parámetro connectionString es NULL.The connectionString parameter is NULL.

El parámetro connectionString es el mismo que el de una llamada anterior a este método, pero los parámetros son diferentes.The connectionString parameter is the same as a previous call to this method, but the parameters are different.

Se ha llamado al método desde CLR.The method was called from within the CLR.

El llamador no tiene el permiso de seguridad de acceso del código (CAS) SqlClientPermission necesario.The caller does not have the required SqlClientPermission code access security (CAS) permission.

Se ha realizado una llamada posterior al método con un parámetro connectionString equivalente pero con distinto usuario, o con un usuario que no tiene el mismo esquema como valor predeterminado.A subsequent call to the method has been made with an equivalent connectionString parameter but a different user, or a user that does not default to the same schema.

Además, cualquier excepción SqlClient subyacente.Also, any underlying SqlClient exceptions.

Comentarios

Este método inicia el agente de escucha de para AppDomain recibir notificaciones de dependencia de la instancia de SQL Server especificadas por el connectionString parámetro.This method starts the listener for the AppDomain for receiving dependency notifications from the instance of SQL Server specified by the connectionString parameter. Este método se puede llamar más de una vez con cadenas de conexión diferentes para varios servidores.This method may be called more than once with different connection strings for multiple servers.

Si no se especifica ningún nombre de cola, SqlDependency crea una cola y un servicio temporales en el servidor que se usa para todo el proceso, incluso si el proceso implica más de uno AppDomain .If no queue name is specified, SqlDependency creates a temporary queue and service in the server that is used for the entire process, even if the process involves more than one AppDomain. La cola y el servicio se quitan automáticamente al cerrarse la aplicación.The queue and service are automatically removed upon application shutdown.

Para obtener más comentarios, vea Start .For additional remarks, see Start.

Consulte también

Se aplica a