Condividi tramite


Utilizzo della classe Notification per un'estensione per il recapito

La classe Notification si trova nello spazio dei nomi Microsoft.ReportingServices.Interfaces e rappresenta le informazioni sulla sottoscrizione utilizzate dalle estensioni per il recapito per recapitare i report. La classe Notification fornisce numerose proprietà che possono essere utilizzate per eseguire il rendering dei report per il recapito, determinare lo stato della notifica e impostare i dati degli utenti.

La notifica rappresenta l'oggetto centrale di qualsiasi tipo di recapito

Processo di notifica dei report

Quando viene generato un evento associato a una sottoscrizione che utilizza l'estensione per il recapito personalizzata, viene creata una notifica contenente un oggetto Report. L'oggetto Report incapsula le funzionalità necessarie per eseguire il rendering di un determinato report in un formato di rendering supportato e contiene proprietà specifiche del report, ad esempio il nome del report e il suo URL nel server. Per ulteriori informazioni sulla classe Report, vedere Utilizzo della classe Report per un'estensione per il recapito.

L'oggetto Notification viene passato al metodo Deliver dell'estensione per il recapito. Il metodo Deliver deve contenere codice specifico per l'elaborazione della notifica e il recapito del report.

Per un esempio di utilizzo della classe Notification, vedere SQL Server Reporting Services Product Samples.

Funzionalità di ripetizione dei tentativi

Reporting Services consente di creare una coda di tentativi per le notifiche che non possono essere recapitate immediatamente. Dopo che il server di report richiama il metodo Deliver di un'estensione per il recapito, l'estensione può richiedere che il server di report esegua un nuovo tentativo di recapito in un momento successivo. Se questo si verifica, il server di report inserisce la notifica in una coda interna ed esegue un nuovo tentativo di recapito dopo che è trascorso un determinato intervallo di tempo. Gli amministratori possono configurare il numero massimo di tentativi eseguiti dal server di report e l'intervallo tra i tentativi nella sezione dell'estensione per il recapito del file RSReportServer.config utilizzando l'elemento MaxNumberOfRetries XML e l'elemento PeriodBetweenRetries XML. Le notifiche vengono rimosse dalla coda di tentativi se in un secondo momento il recapito ha esito positivo o se viene raggiunto il numero massimo di tentativi. Se non è possibile effettuare il recapito dopo il numero massimo di tentativi, la notifica viene eliminata.