Usare una 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 Notification classe fornisce molte proprietà che possono essere usate per eseguire il rendering dei report per il recapito, determinare lo stato della notifica e impostare i dati utente.

Screenshot of the Report notification process.

La notifica è l'oggetto centrale di qualsiasi recapito.

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 altre informazioni sulla Report classe , vedere Usare la 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 su come usare la classe Notification, vedere Esempi del prodotto Reporting Services.

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 si verifica questo evento, il server di report inserisce la notifica in una coda interna e ritenta il recapito dopo un periodo di tempo specifico. 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 usando l'elemento XML MaxNumberOfRetries e l'elemento XML PeriodBetweenRetries. 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.