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


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

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

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

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

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

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

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

Attribute

Description

Name

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

Type

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

Visible

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

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

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

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

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

  1. Скопируйте сборку из промежуточной папки в каталог bin сервера отчетов, на котором будет использоваться модуль доставки. По умолчанию каталог bin сервера отчетов имеет имя C:\Program Files\Microsoft SQL Server\MSRS10.<имя_экземпляра>\Reporting Services\ReportServer\bin.

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

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

  2. Скопировав файл сборки, откройте файл RSReportServer.config. Файл RSReportServer.config расположен в каталоге 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, который по умолчанию помещается в каталоге C:\Program Files\Microsoft SQL Server\MSRS10.<имя_экземпляра>\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.<InstanceName>\Reporting Services\ReportServer\bin\MyExtensionAssembly.dll"       /></CodeGroup>
    

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

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

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

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

  1. Скопируйте сборку из промежуточной папки в каталог bin диспетчера отчетов. По умолчанию каталог bin диспетчера отчетов имеет имя C:\Program Files\Microsoft SQL Server\MSRS10.<имя_экземпляра>\Reporting Services\ReportManager\bin.

  2. Скопировав файл сборки, откройте файл RSReportServer.config. Файл RSReportServer.config расположен в каталоге 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.<имя_экземпляра>\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.<InstanceName>\Reporting Services\ReportManager\bin\MyExtensionAssembly.dll"       /></CodeGroup>
    

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

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

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