Поделиться через


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

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

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

Процесс интерфейса IDeliveryExtension

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

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

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

Образец реализации класса IDeliveryExtension отчета см. на странице Образцы продуктов служб SQL Server Reporting Services.