Развертывание модуля доставки
Сведения о конфигурации модулей доставки предоставляются в виде XML-файлов конфигурации. XML-файл соответствует схеме XML, определенной для модулей доставки. Модули доставки предоставляют инфраструктуру для настройки и изменения файла конфигурации.
В случае замены или обновления модуля доставки все подписки, с которыми он связан, остаются действительными.
После записи и компиляции модуля доставки служб Reporting Services в библиотеку Microsoft платформа .NET Framework необходимо скопировать расширение в соответствующий каталог и добавить запись в соответствующий файл конфигурации служб Reporting Services, чтобы сервер отчетов смог найти его.
Элемент расширения файла конфигурации
Модули доставки, развернутые на сервере отчетов, необходимо указывать в файле конфигурации как элементы Extension. Файлом конфигурации для сервера отчетов является RSReportServer.config.
В приведенной ниже таблице описаны атрибуты для элемента Extension модулей доставки.
Атрибут | Описание |
---|---|
Имя | Уникальное имя модуля (например, «Электронная почта сервера отчетов» для модуля доставки по электронной почте или «Общие папки сервера отчетов» для модуля доставки в общие папки). Длина атрибута Name не должна превышать 255 символов. Имя должно быть уникальным среди всех элементов, вложенных в элемент Extension файла конфигурации. Если присутствует повторяющееся имя, сервер отчетов возвращает ошибку. |
Тип | Список с разделителями-запятыми, содержащий полное пространство имен и имя сборки. |
Visible | Значение false указывает, что расширение доставки не должно отображаться в пользовательских интерфейсах. Если атрибут не включен, значение по умолчанию равно true. |
Дополнительные сведения о файле конфигурации RSReportServer.config см . в файлах конфигурации служб Reporting Services.
Развертывание расширения на сервере отчетов
С помощью модулей доставки сервер отчетов обрабатывает и доставляет уведомления или отчеты. Сборка модуля доставки развертывается на сервере отчетов как закрытая сборка. Нужно также внести запись в файл конфигурации сервера отчетов RSReportServer.config.
Развертывание сборки расширения доставки на сервере отчетов
Скопируйте сборку из промежуточной папки в каталог bin сервера отчетов, на котором будет использоваться модуль доставки. Расположение каталога bin сервера отчетов по умолчанию .
%ProgramFiles%\Microsoft SQL Server\MSRS13.\<InstanceName>\Reporting Services\ReportServer\bin
Важно!
При попытке перезаписать существующую сборку модуля доставки необходимо сначала остановить службу сервера отчетов, а затем скопировать обновленную сборку. После окончания копирования сборки перезапустите службу.
Скопировав файл сборки, откройте файл RSReportServer.config. Файл RSReportServer.config находится в каталоге
%ProgramFiles%\Microsoft SQL Server\MSRS13.\<InstanceName>\Reporting Services\ReportServer
. Необходимо создать запись в файле конфигурации для файла сборки модуля доставки. Файл конфигурации можно открыть с помощью Microsoft Visual Studio или простого текстового редактора, например Блокнот.Найдите в файле RSReportServer.config элемент Delivery. Запись для созданного модуля доставки должна находиться в следующем разделе файла:
<Extensions> <Delivery> <Your extension configuration information goes here> </Delivery> </Extensions>
Добавьте запись для модуля доставки. В новую запись должен входить элемент Extension со значениями параметров Name и Type. Запись может выглядеть, например, следующим образом:
<Extension Name="My Delivery Extension Name" Type="CompanyName.ExtensionName.MyDeliveryExtensionClass, AssemblyName" />
Значение атрибута Name является уникальным именем модуля доставки. Значением атрибута Type является список с разделителями-запятыми, который содержит запись для полного пространства имен класса, в котором реализован интерфейс IDeliveryExtension, за которым следует имя сборки (не включая расширение DLL для файла). По умолчанию модули доставки являются видимыми. Чтобы скрыть модуль в таких пользовательских интерфейсах, как веб-портал, добавьте атрибут Visible к элементу Extension и задайте для него значение false.
Наконец, добавьте для пользовательской сборки группу кода, которая предоставляет разрешение FullTrust для модуля доставки. Для этого добавьте группу кода в файл rssrvpolicy.config, расположенный по умолчанию
%ProgramFiles%\Microsoft SQL Server\MSRS13.\<InstanceName>\Reporting Services\ReportServer
. Ваша группа кода может выглядеть следующим образом:<CodeGroup class="UnionCodeGroup" version="1" PermissionSetName="FullTrust" Name="MyExtensionCodeGroup" Description="Code group for my delivery extension"> <IMembershipCondition class="UrlMembershipCondition" version="1" Url="C:\Program Files\Microsoft SQL Server\MSRS13.<InstanceName>\Reporting Services\ReportServer\bin\MyExtensionAssembly.dll" /> </CodeGroup>
URL-членство — это лишь одно из множества условий членства, которые можно выбрать для модуля доставки. Дополнительные сведения о безопасности доступа к коду в SSRS см. в разделе "Безопасная разработка" (службы Reporting Services)
Проверка развертывания
Проверить, успешно ли был развернут модуль доставки на сервере отчетов, можно с помощью метода веб-службы ListExtensions. Можно также открыть веб-портал и убедиться, что модуль включен в список доступных модулей доставки для подписки. Дополнительные сведения о веб-портале и подписках см. в статьях "Подписки" и "Доставка" (Службы Reporting Services).