Реализация интерфейса IDeliveryExtension для модуля доставки

Класс модуля доставки используется для доставки пользователям уведомлений об отчетах на основании содержимого уведомлений. Класс модуля доставки также образует инфраструктуру для проверки пользовательских параметров, передаваемых в модуль доставки. Класс модуля доставки должен содержать определенные свойства, которые клиенты могут использовать для получения сведений об имени расширения. Он также должен иметь параметры, поддерживаемые расширением, и форматы отрисовки, доступные для модуля доставки.

Screenshot of the IDeliveryExtension interface process.

Интерфейс IDeliveryExtension позволяет проверять пользовательские данные и для клиентов, чтобы узнать о необходимых параметрах доставки.

Чтобы создать класс модуля доставки, реализуйте интерфейсы IDeliveryExtension и IExtension. Интерфейс IDeliveryExtension позволяет модулю доставки доставлять уведомления об отчетах с помощью метода Deliver и проверять входящие параметры модуля с помощью метода ValidateUserData. Интерфейс IExtension позволяет модулю доставки реализовать локализованное имя расширения и обрабатывать сведения о конфигурации для расширения, хранящиеся в файле конфигурации SQL Server. В результате реализации интерфейса IExtension в модуль доставки включается свойство LocalizedName. Расширения доставки SSRS должны поддерживать свойство LocalizedName , чтобы пользователи столкнулись с знакомым именем расширения в пользовательском интерфейсе, например диспетчером отчетов.

В модуле доставки также необходимо реализовать свойство ExtensionSettings интерфейса IDeliveryExtension. Сервер отчетов использует значение, возвращаемое свойством ExtensionSettings, для определения параметров, необходимых модулю доставки. Клиенты, взаимодействующие с модулями доставки, используют метод GetExtensionSettings веб-службы сервера отчетов, чтобы вернуть список параметров для модуля доставки.

Также можно использовать класс модуля доставки для получения пользовательских данных, хранящихся в файле RSReportServer.config, и обработки этих данных. Дополнительные сведения об обработке данных пользовательской конфигурации см. в описании метода SetConfiguration.

Пример реализации класса IDeliveryExtension см. в примерах служб Reporting Services в CodePlex (SQL Server Reporting Services SSRS).