Развертывание пользовательской сборки

Чтобы развернуть пользовательскую сборку в СЛУЖБАх SQL Server Reporting Services, поместите сборку в папки приложений конструктора отчетов и сервера отчетов. По умолчанию пользовательские сборки предоставляются Execution разрешения в службах Reporting Services. Чтобы предоставить пользовательские сборки привилегии за пределами разрешения "Выполнить", необходимо изменить файл конфигурации rssrvpolicy.config для сервера отчетов и файл конфигурации rspreviewpolicy.config для окна предварительного просмотра конструктора отчетов. Кроме того, можно установить пользовательскую сборку в глобальном кэше сборок (GAC).

Замечание

Существует два режима предварительного просмотра конструктора отчетов: вкладка "Предварительный просмотр" и всплывающее окно предварительного просмотра, которое запускается при запуске проекта отчета в DebugLocal режиме. Вкладка "Предварительный просмотр" выполняет все выражения отчета с помощью FullTrust набора разрешений и не применяет параметры политики безопасности. Всплывающее окно предварительного просмотра предназначено для имитации функциональных возможностей сервера отчетов и поэтому имеет файл конфигурации политики, который вы или администратор должны изменить, чтобы использовать пользовательские сборки в конструкторе отчетов. Это всплывающее окно предварительного просмотра также блокирует пользовательскую сборку. Поэтому необходимо закрыть окно предварительного просмотра, чтобы изменить или обновить пользовательский код сборки.

Развертывание пользовательской сборки в службах Reporting Services
  1. Скопируйте пользовательскую сборку из расположения сборки в папку bin сервера отчетов или папку конструктора отчетов. Расположение папки bin для сервера отчетов по умолчанию — %ProgramFiles%\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer\bin. Расположение конструктора отчетов по умолчанию — %ProgramFiles%\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies.

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

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

  2. Откройте соответствующий файл конфигурации. Расположение rssrvpolicy.config по умолчанию — %ProgramFiles%\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer. Расположение rspreviewpolicy.config по умолчанию — %ProgramFiles%\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies.

  3. Добавьте группу кода для пользовательской сборки. Дополнительные сведения см. в разделе "Безопасная разработка" (Службы Reporting Services).

Обновление пользовательских сборок

В какой-то момент может потребоваться обновить версию пользовательской сборки, на которую в настоящее время ссылается несколько опубликованных отчетов. Если эта сборка уже существует в каталоге bin сервера отчетов или конструктора отчетов, а номер версии сборки увеличивается или изменяется каким-то образом, текущие опубликованные отчеты больше не будут работать должным образом. Необходимо обновить версию сборки, на которую ссылается CodeModules элемент определения отчета, и повторно опубликовать отчеты. Если вы знаете, что вы часто обновляете пользовательскую сборку и опубликованные отчеты должны ссылаться на новую сборку, вам может потребоваться использовать один и тот же номер версии для всех обновлений определенной сборки.

Если для ссылки на новую версию сборки не требуются опубликованные в настоящее время отчеты, можно развернуть пользовательскую сборку в глобальном кэше сборок. Глобальный кэш сборок может поддерживать несколько версий одной сборки, чтобы текущие отчеты могли ссылаться на предыдущую версию сборки, а недавно опубликованные отчеты могут ссылаться на обновленную сборку. Еще один подход заключается в настройке перенаправления привязки сервера отчетов для принудительного перенаправления всех запросов старой сборки в новую сборку. Необходимо изменить файл Web.config сервера отчетов и файл ReportService.exe.config сервера отчетов. Запись может выглядеть следующим образом:

<configuration>  
   <runtime>  
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">  
         <dependentAssembly>  
            <assemblyIdentity name="myAssembly"  
                              publicKeyToken="32ab4ba45e0a69a1"  
                              culture="neutral" />  
            <bindingRedirect oldVersion="1.0.0.0"  
                             newVersion="2.0.0.0"/>  
         </dependentAssembly>  
      </assemblyBinding>  
   </runtime>  
</configuration>  

См. также

Использование пользовательских сборок с отчетами
Работа с сборками и глобальным кэшем сборок