Развертывание пользовательской сборки
Чтобы развернуть пользовательскую сборку в службах SQL Server Службы Reporting Services, поместите сборку в папки приложения и конструктора отчетов, и сервера отчетов. По умолчанию пользовательским сборкам предоставляется Execution
разрешение в Reporting Services. Чтобы предоставить пользовательским сборкам права доступа, кроме разрешения на выполнение, необходимо изменить файл конфигурации rssrvpolicy.config для сервера отчетов и файл конфигурации rspreviewpolicy.config для окна предварительного просмотра конструктора отчетов. Также можно установить пользовательскую сборку в глобальный кэш сборок.
Примечание
Конструктор отчетов предусматривает два режима предварительного просмотра: на вкладке предварительного просмотра и во всплывающем окне предварительного просмотра, которое вызывается при запуске проекта отчета в режиме DebugLocal
. На вкладке предварительного просмотра все выражения отчета выполняются с помощью набора разрешений FullTrust
и не применяются параметры политики безопасности. Всплывающее окно предварительного просмотра предназначено для имитации функциональных возможностей сервера отчетов и поэтому имеет файл конфигурации политики, который необходимо изменить (возможно, при участии администратора), чтобы использовать пользовательские сборки в конструкторе отчетов. Это всплывающее окно предварительного просмотра также блокирует пользовательскую сборку. Поэтому для изменения или обновления кода пользовательской сборки необходимо закрыть окно предварительного просмотра.
Развертывание пользовательской сборки в службах Reporting Services
Скопируйте пользовательскую сборку из каталога построения в папку bin на сервере отчетов или в папку конструктора отчетов. По умолчанию папка bin для сервера отчетов находится в %ProgramFiles%\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer\bin. Конструктор отчетов по умолчанию находится в папке %ProgramFiles%\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies.
Размещение пользовательской сборки в папке bin сервера отчетов позволяет опубликовывать отчеты, которые ссылаются на пользовательскую сборку, а размещение пользовательской сборки в папке конструктора отчетов позволяет запускать и выполнять отладку отчетов, которые ссылаются на пользовательскую сборку в конструкторе отчетов.
Чтобы предоставить коду пользовательской сборки разрешения кроме разрешения Execute по умолчанию, выполните следующие действия.
Откройте соответствующий файл конфигурации. Файл rssrvpolicy.config по умолчанию находится в папке %ProgramFiles%\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer. Файл rspreviewpolicy.config по умолчанию находится в папке %ProgramFiles%\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies.
Добавьте группу кода для пользовательской сборки. Дополнительные сведения см. в разделе Безопасная разработка (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>
См. также:
Использование пользовательских сборок с отчетами
Работа со сборками и глобальным кэшем сборок