Preparing to Implement a Delivery Extension


Applies To: SQL Server 2016 Preview

Before you implement your Reporting Services delivery extension, you should define the interfaces to implement. You first need to decide how your delivery extension will be used, what settings your delivery extension will require, and the specific functionality you will need to implement in order to deliver report notifications.

Each Reporting Services delivery extension must provide the following functionality:

  • An IExtension interface implementation that represents the extension and a localized extension name.

  • An IDeliveryExtension implementation that creates a delivery extension that can be used to deliver report notifications to end users.

  • The ability to process specific user data for a subscription.

Each delivery extension can be enhanced to include the following functionality:

  • An ASP.NET user control implementation that enables end users to use Report Manager to create report subscriptions that use the delivery extension.

The following table describes the available interfaces and classes for delivery extensions.

Interface or classDescription
IExtension InterfaceRepresents an extension in Reporting Services.
IDeliveryExtension InterfaceRepresents a delivery extension in Reporting Services.
IDeliveryReportServerInformation InterfaceContains information about the report server that is required by delivery extensions (for example, a list of the available rendering extensions).
Setting ClassRepresents a setting for an extension.
Notification ClassContains subscription information that delivery extensions use to deliver reports.
Report ClassRepresents report-specific information and methods that enable delivery extensions to deliver reports to users.
RenderedOutputFile ClassRepresents the output from a rendering extension. A RenderedOutputFile object contains the associated file name and type information that is required by the delivery extension in order to process the stream returned by the rendering extension.
ISubscriptionBaseUIUserControl InterfaceA user control that represents the means to retrieve delivery extension-specific subscription information from the user in Report Manager (for example, an e-mail address or the path to a file share).

Reporting Services Extensions
Implementing a Delivery Extension
Reporting Services Extension Library

Community Additions