Share via


Lezione 4: Aggiunta di una classe di notifica

In questa lezione si aggiungerà una classe di notifica al file di definizione dell'applicazione (ADF) e quindi si aggiornerà l'istanza di Notification Services per applicare la modifiche al database dell'applicazione. Sarà quindi possibile esaminare le modifiche apportate al database dell'applicazione.

Primer della classe di notifica

Una classe di notifica rappresenta un tipo di notifica prodotta dalla propria applicazione Notification Services. Quando si definisce una classe di notifica, si definiscono le seguenti informazioni:

  • Campi per i dati di notifica, inclusi i tipi di dati. Questi campi definiscono i dati che verranno inviati ai sottoscrittori.
  • Informazioni sul formattatore del contenuto utilizzato per formattare le notifiche per la classe di notifica. È possibile utilizzare il formattatore del contenuto XSLT (Extensible Stylesheet Language Transformations) oppure un formattatore del contenuto personalizzato.
  • Informazioni sulle modalità di utilizzo dei protocolli di recapito per recapitare le notifiche.

È inoltre possibile definire impostazioni facoltative come il recapito digest o multicast, oltre alla scadenza della notifica. Per ulteriori informazioni sulle classi di notifica, vedere Definizione delle classi di notifica.

Quando l'applicazione viene creata o aggiornata, Notification Services utilizza la definizione di classe di notifica per creare tabelle, viste, indici e stored procedure per l'archiviazione e la gestione dei dati di notifica.

Quando vengono create la vista e la tabella di notifica, Notification Services aggiunge i seguenti campi: SubscriberId, DeviceName e SubscriberLocale. Questi campi sono necessari in Notification Services e vengono descritti nelle lezioni successive.

Classe di notifica WeatherAlerts

Per questa applicazione si aggiungerà una classe di notifica WeatherAlerts all'ADF. Tale classe di notifica ha cinque campi di notifica, un formattatore del contenuto XSLT e un protocollo di recapito File.

  • I campi di notifica sono City, Date, Low, High e Forecast. In questa applicazione, i campi delle classi di notifica corrispondono ai campi delle classi di evento, ma questo non è necessario.

  • Quando Notification Services distribuisce le notifiche, formatta i dati non elaborati in un messaggio personalizzato utilizzando il formattatore del contenuto XSLT predefinito. Il nome del file XSLT è WeatherTransform.xslt e il percorso del file è definito dal parametro %_AppPath_%; il valore di questo parametro viene fornito nel file di configurazione dell'istanza.
    Per ulteriori informazioni sul formattatore di contenuto XSLT, vedere Formattatore del contenuto XSLT.

  • Dopo la formattazione, Notification Services recapita le notifiche a un file utilizzando il protocollo di recapito File predefinito. Il nome e il percorso del file sono definiti nell'elemento DeliveryChannels del file di configurazione dell'istanza.
    Le definizioni del protocollo possono contenere le definizioni dei campi per le intestazioni dei messaggi, come quelle richieste dall'SMTP, e le impostazioni di esecuzione del protocollo per configurare le impostazioni di riesecuzione dei tentativi, errore e timeout. Il protocollo File non utilizza queste impostazioni, ma molti altri protocolli utilizzano i campi di intestazione.

    [!NOTA] Il protocollo di recapito File è inteso principalmente per la creazione di prototipi e per il test.

Aggiunta del codice XML della classe di notifica al file ADF

Il codice XML di questa sezione definisce la classe di notifica. Esaminare il codice XML e quindi seguire le istruzioni per copiare il codice XML nel file ADF.

Aggiunta del codice XML della classe di notifica al file ADF

  1. Fare clic su Copia codice per copiare il codice XML negli Appunti di Windows.

    <!-- Notification Classes -->
    <NotificationClasses>
      <NotificationClass>
        <NotificationClassName>
          WeatherAlerts</NotificationClassName>
        <Schema>
          <Fields>
            <Field>
              <FieldName>City</FieldName>
              <FieldType>nvarchar(35)</FieldType>
            </Field>
            <Field>
              <FieldName>Date</FieldName>
              <FieldType>datetime</FieldType>
            </Field>
            <Field>
              <FieldName>Low</FieldName>
              <FieldType>float</FieldType>
            </Field>
            <Field>
              <FieldName>High</FieldName>
              <FieldType>float</FieldType>
            </Field>
            <Field>
              <FieldName>Forecast</FieldName>
              <FieldType>nvarchar(3500)</FieldType>
            </Field>
          </Fields>
        </Schema>
        <ContentFormatter>
          <ClassName>XsltFormatter</ClassName>
          <Arguments>
            <Argument>
              <Name>XsltBaseDirectoryPath</Name>
              <Value>%_AppPath_%</Value>
            </Argument>
            <Argument>
              <Name>XsltFileName</Name>
              <Value>WeatherTransform.xslt</Value>
            </Argument>
          </Arguments>
        </ContentFormatter>
        <Protocols>
          <Protocol>
            <ProtocolName>File</ProtocolName>
          </Protocol>
        </Protocols>
      </NotificationClass>
    </NotificationClasses>
    
  2. In Esplora soluzioni aprire il file WeatherADF.xml.

  3. Sostituire il seguente codice XML con il codice XML appena copiato.

    <!-- Notification Classes -->

    <NotificationClasses></NotificationClasses>

  4. Scegliere Salva WeatherADF.xml dal menu File.

Aggiornamento dell'istanza di Notification Services

Dopo aver modificato l'ADF, si aggiornerà l'istanza di Notification Services per aggiungere gli oggetti di classe notifica al database dell'applicazione.

Per aggiornare l'istanza di Notification Services

  1. In Esplora oggetti espandere Notification Services.

  2. Fare clic con il pulsante destro del mouse su Tutorial, scegliere Attività e quindi Aggiorna.

  3. Nella finestra di dialogo Aggiorna istanza fare clic su Sfoglia, individuare il file TutorialICF.xml e quindi fare clic su Apri.

  4. Nella griglia Parametri esaminare i valori dei parametri. Utilizzare gli stessi valori usati per creare l'istanza.

  5. Fare clic su OK.

  6. Controllare le informazioni visualizzate nella finestra di dialogo Notification Services - Riepilogo aggiornamento e quindi fare clic su Aggiorna.

  7. Al termine delle azioni di aggiornamento, scegliere Chiudi.

Esame delle modifiche del database

Quando si aggiorna l'istanza, Notification Services aggiunge tabelle, viste e stored procedure per la classe di notifica nel database dell'applicazione TutorialWeather.

  • Le notifiche vengono inserite dalle regole di generazione della notifica nella vista dbo.WeatherAlerts.
  • La vista dbo.NSWeatherAlertsFileNotifications contiene le notifiche della classe di notifica WeatherAlerts inviate utilizzando il protocollo di recapito File. Questa vista è solo per uso interno.
  • La vista dbo.NSWeatherAlertsNotificationDistribution combina i dati di numerose tabelle interne di Notification Services per garantire le informazioni sui tentativi di distribuzione delle notifiche.
  • La tabella dbo.NSWeatherAlertsNotifications è la tabella sottostante che contiene i dati di notifica per la classe di notifica. I dati di notifica rimangono in questa tabella finché non vengono rimossi dal processo di rimozione dei dati del componente Vacuumer. Questa tabella è solo per uso interno.
    ms170473.Caution(it-it,SQL.90).gifAttenzione:
    Non modificare direttamente i dati nelle tabelle e nelle viste di notifica.

È possibile utilizzare Esplora oggetti per esaminare questi oggetti nel database TutorialWeather. Le tabelle e le viste solo per uso interno contengono dati utilizzati per operazioni interne; non è necessario comprendere questi dati.

È possibile che sia necessario aggiornare Esplora oggetti per visualizzare i nuovi oggetti.

Lezione successiva

Lezione 5: Aggiunta di una classe di sottoscrizione

Vedere anche

Concetti

Esercitazione di Notification Services

Altre risorse

Definizione delle classi di evento
Creazione di soluzioni di notifica
Introduzione a SQL Server Notification Services

Guida in linea e informazioni

Assistenza su SQL Server 2005