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

Сведения о конфигурации модулей доставки предоставляются в виде XML-файлов конфигурации. XML-файл соответствует схеме XML, определенной для модулей доставки. Модули доставки предоставляют инфраструктуру для настройки и изменения файла конфигурации.

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

После записи и компиляции модуля доставки службы Службы Reporting Services в библиотеку Microsoft .NET Framework необходимо скопировать модуль в соответствующий каталог и добавить запись в соответствующий файл конфигурации Службы Reporting Services, чтобы сервер отчетов мог найти этот модуль.

Элемент Extension в файле конфигурации

Модули доставки, развернутые на сервере отчетов, необходимо указывать в файле конфигурации как элементы Extension. Файлом конфигурации для сервера отчетов является RSReportServer.config.

В приведенной ниже таблице описаны атрибуты для элемента Extension модулей доставки.

Атрибут

Описание

Name

Уникальное имя модуля (например, «Электронная почта сервера отчетов» для модуля доставки по электронной почте или «Общие папки сервера отчетов» для модуля доставки в общие папки). Длина атрибута Name не должна превышать 255 символов. Имя должно быть уникальным среди всех элементов, вложенных в элемент Extension файла конфигурации. Если присутствует повторяющееся имя, сервер отчетов возвращает ошибку.

Type

Список с разделителями-запятыми, содержащий полное пространство имен и имя сборки.

Visible

Значение false показывает, что модуль доставки не должен быть видимым в пользовательских интерфейсах. Если атрибут не указан, по умолчанию используется значение true.

Дополнительные сведения о файле RSReportServer.config см. в разделе Файлы конфигурации (службы Reporting Services).

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

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

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

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

    Важное примечаниеВажно!

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

  2. Скопировав файл сборки, откройте файл RSReportServer.config. Файл RSReportServer.config находится в папке %ProgramFiles%\Microsoft SQL Server\MSRS10_50.<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\MSRS10_50.<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\MSRS10_50.<InstanceName>\Reporting Services\ReportServer\bin\MyExtensionAssembly.dll"
           />
    </CodeGroup>
    

    URL-членство — это лишь одно из множества условий членства, которые можно выбрать для модуля доставки. Дополнительные сведения об управлении доступом для кода в службах Службы SSRS см. в разделе Разработка безопасных приложений (службы Reporting Services).

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

Если модуль доставки реализует интерфейс ISubscriptionBaseUIUserControl, то этот модуль можно использовать со страницей «Подписка диспетчера отчетов». Чтобы сделать доступным пользовательский интерфейс подписки, необходимо выполнить развертывание модуля в диспетчере отчетов.

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

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

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

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

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

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

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

    Важное примечаниеВажно!

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

    Наконец, добавьте для пользовательской сборки группу кода, которая предоставляет модулю доставки разрешение FullTrust. Это можно сделать, добавив группу кода в файл RSmgrpolicy.config, который по умолчанию помещается в каталоге «C:\Program Files\Microsoft SQL Server\MSRS10_50.<InstanceName>\Reporting Services\ReportManager». Пример группы кода показан ниже.

    <CodeGroup class="UnionCodeGroup"
       version="1"
       PermissionSetName="FullTrust"
       Name="MyExtensionCodeGroup"
       Description="Code group for my delivery UI extension">
          <IMembershipCondition class="UrlMembershipCondition"
             version="1"
             Url="C:\Program Files\Microsoft SQL Server\MSRS10_50.<InstanceName>\Reporting Services\ReportManager\bin\MyExtensionAssembly.dll"
           />
    </CodeGroup>
    

    URL-членство — это лишь одно из множества условий членства, которые можно выбрать для модуля доставки. Дополнительные сведения об управлении доступом для кода в службах Службы SSRS см. в разделе Разработка безопасных приложений (службы Reporting Services).

Проверка развертывания

Проверить, успешно ли был развернут модуль доставки на сервере отчетов, можно с помощью метода веб-службы ListExtensions. Можно также открыть диспетчер отчетов и убедиться, что модуль включен в список доступных модулей доставки для подписки. Дополнительные сведения о диспетчере отчетов и подписках см. в разделе Подписка и доставка (службы Reporting Services).