Condividi tramite


Definizione di un provider di eventi di monitoraggio del file system

Per utilizzare un provider di eventi di monitoraggio del file system, è necessario definire un provider di eventi hosted nella definizione dell'applicazione, e sviluppare un file dello schema XML con annotazioni Transact-SQL che esegua il mapping dei dati dell'evento per i campi evento.

Proprietà

Utilizzare le linee guida seguenti nella definizione delle proprietà del provider di eventi di monitoraggio del file system.

  • ProviderName (obbligatorio) deve essere un nome univoco all'interno dell'applicazione.
  • ClassName (obbligatorio) deve essere FileSystemWatcherProvider.
  • Non utilizzare la proprietà AssemblyName. Notification Services cerca nell'assembly Microsoft.SqlServer.NotificationServices.dll le informazioni relative al provider di eventi standard.
  • SystemName (obbligatorio) generalmente è il nome del computer sul quale verrà eseguito il provider di eventi hosted. Per ulteriori informazioni, vedere Definizione di provider di eventi hosted.
  • Non definire un valore di timeout. Il provider di eventi di monitoraggio del file system include una propria logica in relazione a timeout e tentativi.
  • Non definire una pianificazione. Il provider di eventi di monitoraggio del file system è un provider di eventi continuo e non supporta una pianificazione.

Argomenti

Il provider di eventi di monitoraggio del file system dispone di sette argomenti denominati utilizzati come parametri di inizializzazione. È possibile specificarli in qualsiasi ordine:

  • WatchDirectory (obbligatorio) specifica Il percorso e il nome completi della directory monitorata dal provider di eventi come proprio valore. È possibile utilizzare le convenzioni di denominazione standard o UNC (Universal Naming Convention).

  • EventClassName (obbligatorio) specifica il nome della classe di evento per la quale il provider di eventi invia gli eventi.

  • SchemaFile (obbligatorio) specifica il percorso completo a un file che include lo schema XML con annotazioni Transact-SQL utilizzato per trasformare i dati del file XML nel formato di evento corretto. Per ulteriori informazioni, vedere Convalida di file.

    [!NOTA] Lo schema XML con annotazioni Transact-SQL incluso nell'argomento SchemaFile deve gestire tutti i campi definiti nella classe di evento. Se il file dello schema non include un campo evento, il provider di eventi di monitoraggio del file system non riesce, viene generato l'errore "80004005: l'istruzione è stata interrotta" e un file err viene creato nella directory monitorata.

  • RetryAttempts (facoltativo) specifica il numero di tentativi di accesso a un file bloccato prima della rimozione del file dalla coda. Questo valore è un integer con un valore predefinito di 10. Per ulteriori informazioni, vedere Logica di recupero dei file e ripetizione dei tentativi di elaborazione.

  • RetryQueueOccupancy (facoltativo) specifica quanti file possono essere inclusi contemporaneamente nella coda dei tentativi. Questo valore è un integer con un valore predefinito di 1024.

  • RetryPeriod (facoltativo) specifica la frequenza con cui il provider di eventi elabora la coda. Il valore è espresso in millisecondi e specifica l'intervallo tra la fine di un thread e l'inizio di un nuovo thread. Questo valore è un integer con un valore predefinito di 10000, ovvero 10 secondi. Un valore di 0 determina un singolo tentativo all'avvio del provider.

  • RetryWorkload (facoltativo) specifica il numero massimo di file nella coda che può essere elaborato durante un singolo intervallo tra i tentativi. Questo valore è un integer con un valore predefinito di 1024.

Per ulteriori informazioni sulla definizione di un provider di eventi hosted, vedere Definizione di provider di eventi hosted.

Esempio: Definizione di provider di eventi di monitoraggio del file system

Nell'esempio seguente viene illustrato come definire un provider di eventi di monitoraggio del file system denominato StockWatcher nel file di definizione dell'applicazione (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>

Vedere anche

Concetti

Logica di recupero dei file e ripetizione dei tentativi di elaborazione
Convalida di file

Altre risorse

Provider di eventi di monitoraggio del file system
Definizione di provider di eventi
Provider di eventi standard

Guida in linea e informazioni

Assistenza su SQL Server 2005