Развертывание отчетов и элементов управления ReportViewer
Отчеты и элементы управления ReportViewer можно свободно распространять в составе приложения. Требования к развертыванию могут сильно различаться в зависимости от типа элемента управления и типа обработки (локальная или удаленная), настроенного для отчета. В одном приложении можно развертывать локально обрабатываемые и удаленно обрабатываемые отчеты.
Распространение элементов управления ReportViewer
Распространяемый файл элемента управления ReportViewer является самораскрывающимся. Он имеет имя ReportViewer.exe, и в его состав входят MSI-файлы и другие файлы. Файл ReportViewer.exe имеет следующее расположение: %PROGRAMFILES%\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\ReportViewer\ReportViewer.exe. Кроме того, его можно загрузить из центра загрузки Майкрософт.
Примечание
На одном компьютере можно устанавливать различные версии распространяемого пакета элемента управления ReportViewer.
После запуска файла ReportViewer.exe в папку глобального кэша сборок на компьютере развертывания устанавливаются следующие файлы.
Microsoft.ReportViewer.Common.dll
Microsoft.ReportViewer.ProcessingObjectModel.dll
Microsoft.ReportViewer.WebForms.dll
Microsoft.ReportViewer.WinForms.dll
Microsoft.ReportViewer.DataVisualization.dll
Запуск файла ReportViewer.exe
Используемый тип элемента управления определяет место, где следует запускать файл ReportViewer.exe.
Для приложений ASP.NET файл ReportViewer.exe запускается на веб-сервере, где размещается приложение. Это действие должен выполнять администратор сервера.
Для приложений Windows Forms следует включить элементы управления в список обязательных компонентов приложения, чтобы они автоматически устанавливались вместе с приложением. Для автоматизации этого шага можно использовать приложение начальной загрузки.
Откройте страницу свойств проекта.
Нажмите кнопку Опубликовать, а затем нажмите кнопку Требования.
Выберите пункт Средство просмотра отчетов Microsoft Visual Studio 2010 и нажмите кнопку ОК.
Опубликуйте приложение.
Во время установки приложения на локальном компьютере будет проверяться, установлен ли элемент управления ReportViewer. Если он не установлен, программа установки установит его.
Развертывание локализованных версий элементов управления ReportViewer
Распространяемый пакет элемента управления ReportViewer локализован на десять языков Visual Studio: китайский (упрощенное письмо), китайский (традиционное письмо), французский, немецкий, итальянский, японский, корейский, португальский (Бразилия), русский и испанский. Если установлена локализованная версия Visual Studio, то локализованный распространяемый пакет элемента управления ReportViewer находится в папке %PROGRAMFILES%\Microsoft SDKs\Windows\v7.0A\BootStrapper\Packages\ReportViewer\<язык>. Кроме того, любой локализованный распространяемый пакет ReportViewer можно загрузить из Интернета.
Для использования локализованной версии распространяемого пакета элемента управления, которая поставляется вместе с Visual Studio, выполните следующие действия.
Запустите файл ReportViewer.exe.
Перейдите к папке, содержащей нужный языковой пакет. Папки языковых пакетов имеют вид %PROGRAMFILES%\Microsoft SDKs\Windows\v7.0A\BootStrapper\Packages\ReportViewer\<язык>.
Запустите файл ReportViewerLP.exe.
Чтобы использовать в элементе управления ReportViewer другие языки, можно реализовать интерфейс IreportViewerMessages3 или IreportViewerMessages3 для создания подсказок и другого текста пользовательского интерфейса на определенном языке.
Определение языка и региональных параметров обозревателя
Если серверный веб-элемент управления ReportViewer используется для размещения отчетов в приложении обозревателя, необходимо указать региональные параметры потока, если нужно обеспечить пользовательский интерфейс, язык и региональные параметры которого согласованы с обозревателем. ASP.NET не устанавливает региональные параметры потока на основании данных заголовка, передаваемых клиентом. Чтобы региональные параметры приложения совпадали с обозревателем, можно задать свойства Thread.CurrentCulture и Thread.CurrentUICulture в коде приложения. Дополнительные сведения о работе с региональными параметрами в приложении см. в разделе System.Globalization.CultureInfo.
Вопросы развертывания для серверного веб-элемента управления ReportViewer
Для развертывания приложения ASP.NET в веб-ферме необходима дополнительная настройка, чтобы обеспечить сохранение состояния просмотра в пределах фермы. Если серверный веб-элемент управления ReportViewer развертывается в среде веб-фермы, следует указать элемент machineKey в файле Web.config приложения. Дополнительные сведения см. в разделе Параметры файла web.config для ReportViewer.
Отчеты, обрабатываемые в серверном веб-элементе управления ReportViewer, имеют различные требования к обозревателю. Проблемы совместимости с обозревателем могут повлиять на доступность некоторых функций отчета. Дополнительные сведения см. в разделе Поддержка обозревателей для серверных веб-элементов управления ReportViewer.
Распространение файлов отчета
Если определение клиентского отчета не создается динамически во время выполнения с помощью метода LocalReport.LoadReportDefinition или ServerReport.LoadReportDefinition, то доступно несколько вариантов распространения файлов отчета с приложением, в зависимости от режима обработки элемента управления ReportViewer.
Отчеты, которые обрабатываются локально, можно сохранять в сетевую папку или компилировать в исполняемый файл приложения. Отчеты, которые обрабатываются на удаленном сервере, обычно хранятся на сервере отчетов служб SQL Server Reporting Services. Если не планируется использовать метод ServerReport.LoadReportDefinition для загрузки отчета вручную из расположения, отличного от сервера отчетов, то в приложение не нужно включать файлы отчета. Для развертывания отчетов, опубликованных на сервере отчетов, необходимо обеспечить постоянный доступ к серверу отчетов и убедиться, что пользователи приложения имеют разрешение на просмотр отчетов на этом сервере. Для развертывания серверных отчетов необходимо знать, какой модуль проверки подлинности используется на сервере отчетов и какая модель ролевой авторизации обеспечивает доступ к содержимому и операциям. Дополнительные сведения см. в разделе Вопросы развертывания серверных отчетов.
См. также
Основные понятия
Добавление и настройка элементов управления ReportViewer
Параметры файла web.config для ReportViewer