Preparing to Implement a Delivery Extension

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 class

Description

IExtension Interface

Represents an extension in Reporting Services.

IDeliveryExtension Interface

Represents a delivery extension in Reporting Services.

IDeliveryReportServerInformation Interface

Contains information about the report server that is required by delivery extensions (for example, a list of the available rendering extensions).

Setting Class

Represents a setting for an extension.

Notification Class

Contains subscription information that delivery extensions use to deliver reports.

Report Class

Represents report-specific information and methods that enable delivery extensions to deliver reports to users.

RenderedOutputFile Class

Represents 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 Interface

A 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).