Развертывание модуля доставки

Сведения о конфигурации модулей доставки предоставляются в виде 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.

Развертывание сборки расширения доставки на сервере отчетов

  1. Скопируйте сборку из промежуточной папки в каталог bin сервера отчетов, на котором будет использоваться модуль доставки. Расположение каталога bin сервера отчетов по умолчанию .%ProgramFiles%\Microsoft SQL Server\MSRS13.\<InstanceName>\Reporting Services\ReportServer\bin

    Важно!

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

  2. Скопировав файл сборки, откройте файл RSReportServer.config. Файл RSReportServer.config находится в каталоге %ProgramFiles%\Microsoft SQL Server\MSRS13.\<InstanceName>\Reporting Services\ReportServer . Необходимо создать запись в файле конфигурации для файла сборки модуля доставки. Файл конфигурации можно открыть с помощью Microsoft Visual Studio или простого текстового редактора, например Блокнот.

  3. Найдите в файле RSReportServer.config элемент Delivery. Запись для созданного модуля доставки должна находиться в следующем разделе файла:

    <Extensions>  
       <Delivery>  
          <Your extension configuration information goes here>  
       </Delivery>  
    </Extensions>  
    
  4. Добавьте запись для модуля доставки. В новую запись должен входить элемент Extension со значениями параметров Name и Type. Запись может выглядеть, например, следующим образом:

    <Extension Name="My Delivery Extension Name" Type="CompanyName.ExtensionName.MyDeliveryExtensionClass, AssemblyName" />  
    

    Значение атрибута Name является уникальным именем модуля доставки. Значением атрибута Type является список с разделителями-запятыми, который содержит запись для полного пространства имен класса, в котором реализован интерфейс IDeliveryExtension, за которым следует имя сборки (не включая расширение DLL для файла). По умолчанию модули доставки являются видимыми. Чтобы скрыть модуль в таких пользовательских интерфейсах, как веб-портал, добавьте атрибут Visible к элементу Extension и задайте для него значение false.

  5. Наконец, добавьте для пользовательской сборки группу кода, которая предоставляет разрешение 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).