Compartir a través de


Definir un proveedor de eventos FileSystemWatcher

Para utilizar el proveedor de eventos FileSystemWatcher, debe definir un proveedor de eventos alojado en la definición de la aplicación y desarrollar un archivo de esquema XML anotado Transact-SQL que asigne los datos de eventos a campos de eventos.

Propiedades

Utilice las directrices siguientes al definir las propiedades del proveedor de eventos FileSystemWatcher.

  • ProviderName (obligatoria) debe ser un nombre único en la aplicación.
  • ClassName (obligatoria) debe ser FileSystemWatcherProvider.
  • No utilice la propiedad AssemblyName. Notification Services busca en el ensamblado Microsoft.SqlServer.NotificationServices.dll información del proveedor de eventos estándar.
  • SystemName (obligatoria) suele ser el nombre del equipo que ejecutará este proveedor de eventos alojado. Para obtener más información, vea Definir proveedores de eventos alojados.
  • No defina un valor de tiempo de espera. El proveedor de eventos FileSystemWatcher tiene su propia lógica de tiempo de espera y reintentos.
  • No defina una programación. El proveedor de eventos FileSystemWatcher es un proveedor de eventos continuo y no admite una programación.

Argumentos

El proveedor de eventos FileSystemWatcher tiene siete argumentos con nombre que se utilizan como parámetros de inicialización. Puede especificarlos en cualquier orden:

  • WatchDirectory (obligatorio) especifica la ruta de acceso completa y el nombre del directorio que supervisa el proveedor de eventos como su valor. Se pueden utilizar las convenciones de nomenclatura estándar o UNC (Convención de nomenclatura universal).

  • EventClassName (obligatorio) especifica el nombre de la clase de evento para la que este proveedor de eventos envía eventos.

  • SchemaFile (obligatorio) especifica la ruta de acceso completa a un archivo que contiene el esquema XML anotado Transact-SQL utilizado para transformar los datos del archivo XML en el formato de evento apropiado. Para obtener más información, vea Validación de archivos.

    [!NOTA] El esquema XML anotado Transact-SQL proporcionado en el argumento SchemaFile debe controlar todos los campos definidos en la clase de evento. Si falta un campo de evento en el archivo de esquema, el proveedor de eventos FileSystemWatcher experimenta el error 80004005: "Se terminó la instrucción" y se crea un archivo .err en el directorio de inspección.

  • RetryAttempts (opcional) especifica cuántas veces se intenta obtener acceso a un archivo bloqueado antes de quitar dicho archivo de la cola. Se trata de un entero con un valor predeterminado de 10. Para obtener más información, vea Lógica de recopilación y reintento de archivos.

  • RetryQueueOccupancy (opcional) especifica cuántos archivos pueden estar al mismo tiempo en la cola de reintentos. Se trata de un entero con un valor predeterminado de 1.024.

  • RetryPeriod (opcional) especifica la frecuencia con la que el proveedor de eventos debe procesar la cola. El valor aparece en milisegundos y especifica el periodo entre el final de un subproceso y el inicio de un subproceso nuevo. Se trata de un entero cuyo valor predeterminado es 10.000 milisegundos, que son 10 segundos. Un valor 0 da lugar a un único reintento cuando se inicia el proveedor.

  • RetryWorkload (opcional) especifica el número máximo de archivos en la cola que se puede procesar durante un periodo de reintento único. Se trata de un entero con un valor predeterminado de 1.024.

Para obtener más información acerca de la definición de un proveedor de eventos alojado, vea Definir proveedores de eventos alojados.

Ejemplo: definición de proveedor de eventos FileSystemWatcher

En el ejemplo siguiente se muestra cómo definir un proveedor de eventos FileSystemWatcher denominado StockWatcher en un archivo de definición de aplicación (ADF):

<Providers>
   <HostedProvider>
      <ProviderName>StockWatcher</ProviderName>
      <ClassName>FileSystemWatcherProvider</ClassName>
      <SystemName>NSSERVER01</SystemName>
      <Arguments>
         <Argument>
            <Name>WatchDirectory</Name>
            <Value>C:\StockInfo\NewEvents</Value>
         </Argument>
         <Argument>
            <Name>EventClassName</Name>
            <Value>StockEvents</Value>
         </Argument>
         <Argument>
            <Name>SchemaFile</Name>
            <Value>C:\Schemas\StockEventSchema.xsd</Value>
         </Argument>
         <Argument>
            <Name>RetryAttempts</Name>
            <Value>15</Value>
         </Argument>
         <Argument>
            <Name>RetryQueueOccupancy</Name>
            <Value>100</Value>
         </Argument>
         <Argument>
            <Name>RetryPeriod</Name>
            <Value>50000</Value>
         </Argument>
         <Argument>
            <Name>RetryWorkload</Name>
            <Value>100</Value>
         </Argument>
      </Arguments>
   </HostedProvider>
</Providers>

Vea también

Conceptos

Lógica de recopilación y reintento de archivos
Validación de archivos

Otros recursos

Proveedor de eventos FileSystemWatcher
Definir proveedores de eventos
Proveedores de eventos estándar

Ayuda e información

Obtener ayuda sobre SQL Server 2005