Utilizzo della classe Notification per un'estensione per il recapitoUsing a Notification Class for a Delivery Extension

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.The Notification class is located in the Microsoft.ReportingServices.Interfaces namespace and represents subscription information that delivery extensions use for delivering reports. 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.The Notification class provides a number of properties that can be used to render the reports for delivery, determine the status of the notification, and set user data.

Processo di notifica del reportReport notification process
La notifica rappresenta l'oggetto centrale di qualsiasi tipo di recapitoThe notification is the central object of any delivery

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.When an event fires that is associated with a subscription that uses your custom delivery extension, a notification is created that contains a Report object. 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.The Report object encapsulates the functionality needed to render a given report to a supported rendering format and contains report-specific properties, such as the URL to the report on the server and the name of the report. Per altre informazioni sulla classeReport, vedere Uso della classe di Report per l'estensione per il recapito.For more information about the Report class, see Using the Report Class for a Delivery Extension.

L'oggetto Notification viene passato al metodo Deliver dell'estensione per il recapito.You pass the Notification object to the Deliver method of your delivery extension. Il metodo Deliver deve contenere codice specifico per l'elaborazione della notifica e il recapito del report.Your Deliver method should contain specific code to process the notification and to deliver the report.

Per un esempio su come usare la classe Notification, vedere Esempi del prodotto Reporting Services.For an example of how to use the Notification class, see SQL Server Reporting Services Product Samples.

Funzionalità di ripetizione dei tentativiRetry Functionality

Reporting ServicesReporting Services consente di creare una coda di tentativi per le notifiche che non possono essere recapitate immediatamente. allows you to create a retry queue for notifications that cannot immediately be delivered. 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.After the report server invokes the Deliver method of a delivery extension, the delivery extension can request that the report server retry the delivery at a later point in time. 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.If this occurs, the report server places the notification in an internal queue and retries the delivery after a specific period of time has elapsed. 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.Administrators can configure the maximum number of retry attempts that the report server performs and the period between retries in the delivery extension section of the RSReportServer.config file using the MaxNumberOfRetries XML element and the PeriodBetweenRetries XML element. 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.Notifications are removed from the retry queue if delivery later succeeds or if the maximum number of retry attempts is reached. Se non è possibile effettuare il recapito dopo il numero massimo di tentativi, la notifica viene eliminata.If delivery fails after the maximum number of retries, the notification is discarded.

Vedere ancheSee Also

Implementazione di un'estensione per il recapito Implementing a Delivery Extension
Libreria di estensioni di Reporting ServicesReporting Services Extension Library