WWW.DISS.SELUK.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА
(Авторефераты, диссертации, методички, учебные программы, монографии)

 

Pages:     | 1 || 3 | 4 |   ...   | 17 |

«Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide Содержание 1 Руководство SAP Crystal Reports.NET SDK Developer Guide............................ 4 1.1 Начало ...»

-- [ Страница 2 ] --

В элемент управления CrystalReportPartsViewer была добавлена поддержка инфраструктуры Web Parts – инфраструктуры для веб-порталов, представленной в ASP.NET версии 2.0.

Структура Web Parts позволяет разработчикам инкапсулировать элементы управления на странице в настраиваемых объектах Web Part.

Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide Связанные сведения Учебное пособие: отображение фрагментов отчетов с помощью элемента управления CrystalReportPartsViewer [стр. 504] В данном учебном пособии предоставляются сведения о разделении отчета на фрагменты и отображении каждого фрагмента путем последовательного выбора гиперссылок.

1.3.2.4 Элемент управления CrystalReportSource Элемент управления CrystalReportSource входит в состав новой тэговой модели разработки приложений, поставляемой с ASP.NET версии 2.0.

Примечание Элемент управления CrystalReportSource доступен только для веб-сайтов.

В структуре элемента управления DataSource визуальные элементы управления.NET подключаются к невизуальным (не относящимся к управлению отображаемыми данными) элементам управления DataSource. Эта новая структура DataSource инкапсулирует информацию о подключении данных, записанную в виде строк кода в элементах управления.NET в веб-форме.

В окне проекта Visual Studio отображаются имена подключенных друг к другу элементов управления.

Поставщики данных.NET предлагают собственные решения для элемента управления DataSource.

Например, SqlDataSource обращается к Microsoft SQL Server, в то время как OracleDataSource работает с Oracle.

В рамках SAP Crystal Reports этот элемент управления представлен элементом управления CrystalReportSource. Аналогичное решение применяется в ASP.NET версии 1.0, где элемент управления CrystalReportViewer содержит свойство ReportSource вместо более привычного свойства DataSource.

Различие между элементами управления CrystalReportSource и DataSource заключается в том, что элемент управления CrystalReportSource содержит отчет, инкапсулирующий данные, а элемент управления DataSource (например, SqlDataSource) содержит данные в чистом виде.

1.3.3 Особенности использования различных методов сохранения в SAP Crystal Reports Одним из важнейших решений при планировании процесса разработки приложения в SAP Crystal Reports SDK является выбор метода сохранения.

Что такое сохранение?

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

Каждая веб-страница запрашивается с сервера, отправляется пользователю, а затем процесс © 2014 SAP AG или аффилированная компания SAP. Все права Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide завершается. Этот механизм работает нормально при чтении текстовой информации, но создает определенные проблемы при разработке веб-приложения, когда существует необходимость в сохранении сведений о пользователе при перезагрузке и перенаправлении страниц.

Сохранением называется механизм, используемый для поддержания неизменного состояния для каждого пользователя (например, текущей страницы отчета, просматриваемой пользователем) при перезагрузке и перенаправлении страниц.

Рекомендуемые методы сохранения В данном разделе рассматриваются рекомендуемые методы сохранения изменений в отчете Crystal на вебстранице при обновлении отчета во время перезагрузки веб-страницы. Сохраняемые изменения могут быть как простыми (например, переход ко второй странице после нажатия кнопки "Следующая страница" в средстве просмотра отчетов), так и сложными (например, отображение абсолютно других данных после изменения параметров отчета).

Сохранение должно применяться для следующего:

Элемент управления CrystalReportViewer.

отчет, связанный с элементом управления CrystalReportViewer.

Методы сохранения состояния в ASP и ASP.NET В традиционной среде ASP и ASP.NET состояние поддерживается веб-браузером либо веб-сервером описанными ниже способами.

Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide * Все методы сохранения ASP также работают в ASP.NET.

Какой метод сохранения является оптимальным для SAP Crystal Reports?

Оптимальными методами сохранения для SAP Crystal Reports являются методы ViewState, Session и Cache.

Связанные сведения Использование объекта ViewState для сохранения объектной модели CrystalReportViewer [стр. 56] 1.3.3.1 Использование объекта ViewState для сохранения объектной модели CrystalReportViewer Для чего используется объект ViewState?

Использование объекта ViewState является браузерным методом сохранения состояния представления (то есть, веб-формы) в ASP.NET. Его основной функцией является поддержка сохранения элементов управления веб.

Элементы управления веб (также называемые элементами управления веб-сервером) моделируются на основе элементов управления Windows, которые были введены в Visual Basic. Элементы управления © 2014 SAP AG или аффилированная компания SAP. Все права Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide Windows представляют собой объекты в форме, инкапсулирующие часть возможностей отображения (например, текстовое поле, кнопка или таблица с данными).

Элементы управления веб сходны с элементами управления Windows. Как и элементы управления Windows, они действуют на двух уровнях: в пределах веб-страницы и в классе code-behind, поддерживающем веб-страницу. Как и традиционные элементы управления в формах Windows, элементы управления веб инкапсулируют определенную часть возможностей отображения в объектах графического интерфейса пользователя: Button, TextField, DropDownList, DataGrid и т.п. В классе codebehind те же элементы управления повторяются в виде классов, предоставляющих свойства и методы.



Веб-страница отличается от формы Windows тем, что веб-страница является средой, не имеющей состояния. Следовательно, для поддержания состояния веб-страницы при перезагрузке требуется определенный механизм сохранения.

Объект ViewState поддерживает состояние элементов управления на веб-странице, подобно тому, как объект Session поддерживает состояние экземпляров объектов на сервере.

Объект ViewState автоматически поддерживает состояние всех элементов управления веб. Для этого объект ViewState сохраняет каждый элемент управления в зависимости от значения свойства EnableViewState этого элемента управления (по умолчанию True).

Поскольку объект ViewState сохраняет состояние данных элементов управления веб на странице, весь объект ViewState должен быть прикреплен к странице при передаче страницы между браузером и вебсервером. Для этого весь объект ViewState шифруется как строка, которая затем помещается в значение тэга скрытой формы на странице. Например, объект ViewState веб-страницы ASP.NET, содержащей только одну кнопку, имеет следующий код HTML:

Объект ViewState сохраняет только данные, которые можно преобразовать в строковый формат.

Сохранение отображения отчета для элемента управления CrystalReportViewer Элемент управления CrystalReportViewer является средством отображения отчета для отчетов Crystal. Он отображает отчет в HTML на странице, а также панель инструментов и древовидную структуру для управления отображением отчета. Панель инструментов содержит кнопки изменения масштаба, перехода к следующей странице, печати, экспорта и т.п. Древовидная структура позволяет развернуть вложенные группы данных.

Объект ViewState сохраняет данные элементов управления; следовательно, он сохраняет состояние всех данных отображения отчета (включая события панели управления и древовидной структуры) для элемента управления CrystalReportViewer при перезагрузке страницы.

Например, если пользователь, находясь на странице 3, нажал кнопку перехода на следующую страницу на панели инструментов элемента управления CrystalReportViewer, объект ViewState будет сохранять состояние следующих данных:

Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide текущего номера страницы;

состояние кнопки "Следующая страница" (нажата).

При перезагрузке страницы объект ViewState восстанавливает элемент управления CrystalReportViewer, отображая страницу 3, а затем восстанавливает событие перехода на следующую страницу, заставляя элемент управления переместиться на страницу 4.

Сохранение объектной модели элемента управления CrystalReportViewer Элемент управления CrystalReportViewer также имеет дополнительную роль: он является не только средством отображения отчета, но также ограниченной объектной моделью (содержащейся в классе элемента управления CrystalReportViewer). Эта ограниченная объектная модель может использоваться для программного взаимодействия с отчетом.

Объект ViewState сохраняет состояние обеих ролей:

средства отображения отчета;

объектной модели CrystalReportViewer.

Однако использование объектной модели CrystalReportViewer, как правило, не приветствуется. Вместо этого рекомендуется использовать более эффективную модель ReportDocument. Эта альтернативная объектная модель не содержится в элементе управления, а является частью библиотек классов в SDK.

Использование различных механизмов сохранения Если элемент управления CrystalReportViewer выполняет обе роли (средство отображения отчета и объектная модель), объект ViewState сохраняет обе роли, и необходимости в использовании дополнительных механизмов сохранения не возникает.

Примером может послужить связывание элемента управления CrystalReportViewer с путем к каталогу.

См. раздел Установка связи с путем к каталогу в коде [стр. 174].

Однако если элемент управления CrystalReportViewer используется только как средство отображения отчета и связывается с внешней объектной моделью (например, ReportDocument), для сохранения внешней объектной модели требуется отдельный механизм сохранения. Как правило, в качестве второго механизма используется объект Session (или Cache).

Связанные сведения Особенности использования различных методов сохранения в SAP Crystal Reports [стр. 54] Использование объекта Session для сохранения объектной модели ReportDocument [стр. 59] Выбор правильной объектной модели для проекта [стр. 32] © 2014 SAP AG или аффилированная компания SAP. Все права Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide 1.3.3.2 Использование объекта Session для сохранения объектной модели ReportDocument Для чего используется объект Session?

Использование объекта Session является серверным методом сохранения состояния в ASP и ASP.NET.

Объект Session позволяет сохранять любой объект в течение всего сеанса пользователя путем сохранения объекта в памяти веб-сервера.

Объект Session обычно выполняет одну из перечисленных ниже функций.

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

Сохраняет объект, состояние которого должно оставаться неизменным только при перезагрузке страниц или для функционально сгруппированного набора страниц.

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

Ограничения этого метода сохранения Объем памяти на сервере, необходимый для объектов Session, растет с увеличением числа пользователей в системе.

Для каждого пользователя, обращающегося к веб-приложению, генерируется отдельный объект Session. Каждый объект Session сохраняется на сервере в течение всего визита пользователя, включая период бездеятельности.

Если в каждом объекте Session сохраняется много объектов и при этом большое число пользователей одновременно работает с веб-приложением (создавая много объектов Session), объем памяти на сервере, занятой объектами Session, может стать значительным, ограничивая масштабируемость.

Другие методы сохранения описаны в следующих разделах:

Использование объекта ViewState для сохранения объектной модели CrystalReportViewer [стр. 56] Использование объекта Cache для сохранения объектной модели ReportDocument [стр. 60] Сохранение объектной модели ReportDocument с помощью объекта Session Если отчет был инкапсулирован в объектной модели ReportDocument, объектная модель ReportDocument требует сохранения с помощью серверного метода, например Session или Cache.

Для сохранения отчета в объектной модели ReportDocument с помощью объекта Session создайте экземпляр ReportDocument и свяжите его с объектом Session.

Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide Использование объекта Session является самым простым подходом, рекомендуемым для разработчиков, не имеющих опыта создания веб-приложений ASP.NET с помощью SAP Crystal Reports. Этот подход также рекомендуется использовать для сохранения экземпляров ReportDocument для отчетов с низкой вероятностью коллективного использования.

Ограничения метода сохранения объектной модели ReportDocument с помощью объекта Session Если экземпляр ReportDocument имеет высокую вероятность коллективного использования, вместо объекта Session рекомендуется использовать объект Cache.

Сравнение объектов Session и ViewState Объект Session в первую очередь предназначен для сохранения состояния объектов в классе code-behind.

Объект ViewState в первую очередь предназначен для сохранения состояния элементов управления на веб-странице. Если элемент управления на веб-странице связан с объектом в классе code-behind и оба необходимо сохранять при перезагрузке страницы, используются и Session, и ViewState.

В этом случае объект ViewState используется для сохранения элемента управления CrystalReportViewer, а объект Session – для сохранения объекта ReportDocument, связанного с этим элементом управления.

Связанные сведения Учебное пособие: сохранение объектной модели ReportDocument с использованием Session [стр. 343] В этом учебном пособии используется объектная модель ReportDocument и вносятся программные изменения в отчет во время выполнения.

1.3.3.3 Использование объекта Cache для сохранения объектной модели ReportDocument Использование объекта Cache является серверным методом сохранения состояния в ASP.NET. Объект Cache функционально сходен с объектом Application, использующимся и в ASP, и в ASP.NET:

Объект Application позволяет сохранять любой объект в пределах приложения.

Приложение не предназначено для сохранения пользовательских сведений.

В дополнение ко всем возможностям объекта Application объект Cache поддерживает новый уровень возможностей управления динамической информацией.

Объект, добавленный к кэшу, можно настраивать с помощью зависимостей на основе файла, ключа или времени. При изменении связанного файла или ключа или по прошествии определенного периода © 2014 SAP AG или аффилированная компания SAP. Все права Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide времени объект автоматически удаляется из кэша, и при следующем обращении к объекту в кэш помещается обновленная версия.

Неиспользуемый объект, добавленный к кэшу без зависимостей, автоматически удаляется.

При удалении объекта из кэша возникает событие. Можно написать код, который будет запускаться при возникновении этого события и загружать обновленную версию объекта в объект Cache.

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

Преимущество использования объекта Cache вместо объекта Application состоит в том, что, как и объект Application, объект Cache сохраняет информацию, доступную для всех пользователей, но кроме того, также может обновлять сам себя на основе изменений в зависимостях.

Поведение кэша платформы.NET Framework 2. Работа с кэшем платформы.NET Framework 2.0 более эффективна и надежна, так как кэш обрабатывается отдельно для каждого пользователя и для каждого сеанса.

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

Ограничения этого метода сохранения Разработчики, не имеющие опыта работы с объектом Cache, часто пытаются использовать этот метод сохранения во всех ситуациях, в частности, вместо объекта Session. Однако объект Cache не поддерживает все возможности объекта Session. Попытки эмуляции уникальности объекта Session путем добавления данных пользователей к ключу Cache приводят к загрузке объекта Cache с объектами пользователя, которые, в отличие от тех случаев, когда используется объект Session, не устаревают по истечении времени ожидания для пользователя. В результате объект Cache требует больше памяти веб-сервера, чем объект Session.

В целях сохранения данных, связанных с отдельными пользователями, рекомендуется использовать объект Session.

Другие методы сохранения описаны в следующих разделах:

Использование объекта ViewState для сохранения объектной модели CrystalReportViewer [стр. 56] Использование объекта Session для сохранения объектной модели ReportDocument [стр. 59] Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide Сохранение объектной модели ReportDocument с помощью объекта Cache Если отчет был инкапсулирован в объектной модели ReportDocument, объектная модель ReportDocument требует сохранения с помощью серверного метода, например Session или Cache.

Для сохранения отчета в объектной модели ReportDocument с помощью объекта Cache можно воспользоваться одним из двух описанных далее способов.

Создание экземпляра отчета и связывание его с объектом Cache, используя тот же синтаксис, что и при связывании отчета с объектом Session.

Этот метод работает только для отчета с высокой вероятностью коллективного использования, где экземпляр ReportDocument встречается только один раз и использует один набор параметров и учетных данных. Если экземпляр ReportDocument может встречаться несколько раз вследствие изменений в параметрах и учетных данных, переназначение объекта Cache с помощью одной и той же строки ключа приведет к замене предыдущей версии экземпляра ReportDocument.

Создание экземпляра версии класса отчета, использующего интерфейс ICachedReport.

Оптимальными методами сохранения для SAP Crystal Reports являются методы ViewState, Session и Cache. Любой отчет, использующий интерфейс ICachedReport, автоматически добавляется к кэшу с уникальным ключом, создаваемым на основе параметров и учетных данных. Этот метод работает для любых отчетов с высокой вероятностью коллективного использования, который может иметь несколько версий вследствие незначительных изменений в параметрах и учетных данных. Для отчетов с невысокой вероятностью коллективного использования (относящихся к отдельным пользователям) следует использовать объект Session.

Ограничения метода сохранения объектной модели ReportDocument с помощью объекта Cache Использование объекта Cache является оптимальным методом при сохранении экземпляров ReportDocument с высокой вероятностью коллективного использования. Если отчет относится к отдельному пользователю, объект Cache будет напрасно занимать память сервера, создавая на уровне приложения экземпляры, связанные с отдельным пользователем, которые будут оставаться в памяти сервера после устаревания пользователя. Для отчетов, относящихся к отдельным пользователям, следует использовать объект Session.

В большинстве случаев для сохранения экземпляров ReportDocument следует использовать объект Session. Объект Cache (или, точнее, интерфейс ICachedReport) следует использовать только в том случае, если отчет имеет высокую вероятность коллективного использования и этот отчет такой большой или сложный, что для извлечения его данных требуется несколько минут.

Сравнение объектов Cache и Viewstate Объект Cache в первую очередь предназначен для сохранения состояния объектов в классе code-behind.

Объект ViewState в первую очередь предназначен для сохранения состояния элементов управления на © 2014 SAP AG или аффилированная компания SAP. Все права Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide веб-странице. Если элемент управления на веб-странице связан с объектом в классе code-behind и оба необходимо сохранять при перезагрузке страницы, используются и Cache, и ViewState.

В этом случае объект ViewState используется для сохранения элемента управления CrystalReportViewer, а объект Cache — для сохранения объекта ReportDocument, связанного с этим элементом управления.

Связанные сведения Особенности использования различных методов сохранения в SAP Crystal Reports [стр. 54] Ограничения возможностей сохранения при связывании отчетов в обработчике событий Page_Load [стр.

64] 1.3.3.3.1 Сохранение встроенного отчета, использующего интерфейс ICachedReport Процедура 1. Добавьте отчет к проекту.

При этом создается класс встроенного отчета, а также класс кэшированного отчета, загружающий и возвращающий кэшированный экземпляр класса встроенного отчета.

2. Создайте экземпляр класса кэшированного отчета.

3. Свяжите экземпляр кэшированного класса с элементом управления CrystalReportViewer.

Связанные сведения Связывание с классом кэшированных встроенных отчетов [стр. 208] 1.3.3.3.2 Сохранение невстроенного отчета с помощью служебного класса, использующего интерфейс ICachedReport Процедура 1. Создайте собственный служебный класс управления кэшированием, который будет использовать интерфейс ICachedReport.

2. В этом служебном классе загрузите невстроенный отчет из указанного местоположения с помощью строки метода ReportDocument.Load().

Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide 3. Напишите код, в котором метод реализации CreateReport() будет возвращать экземпляр ReportDocument для невстроенного отчета.

4. Создайте экземпляр класса утилиты управления кэшированием для отчета.

5. Свяжите этот экземпляр класса с элементом управления CrystalReportViewer.

Связанные сведения Установка связи с невстроенным отчетом, загруженным в класс утилит управления кэш-памятью [стр. 210] 1.3.3.4 Ограничения возможностей сохранения при связывании отчетов в обработчике событий Page_Load В веб-приложениях ASP.NET распространенной практикой является помещение всего кода запуска для страницы в обработчик событий Page_Load, который вызывается событием Page.Load.

В частности, в обработчике событий Page_Load обычно сохраняется код связывания данных элемента управления. Однако помещение кода связывания в этот обработчик событий приводит к возникновению проблемы с объектом ViewState. Ниже приведено описание проблемы и способ ее разрешения.

Объект ViewState используется для сохранения двух элементов при перезагрузке страницы: данных, связанных с элементом управления, и событий, возникающих при щелчке мышью на элементе управления.

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

Во время перезагрузки страницы данные и события щелчка восстанавливаются из объекта ViewState.

Событие Page.Load возникает после восстановления объекта ViewState. Если обработчик событий Page_Load содержит код связывания элемента управления, во время перезагрузки страницы этот код связывания перезаписывает объект ViewState. При этом и исходные данные, и события щелчков Как правило, эта проблема возникает с элементами управления, не сохраняющими информацию о щелчках мышью при перезагрузке страницы (например, при выборе параметра в элементе управления DropDownList).

Во избежание перезаписи данных и событий щелчка любой код связывания в обработчике событий Page_Load помещается в условный блок Not IsPostBack, который предотвращает вызов кода связывания при возникновении события PostBack.

Решение проблемы основывается на следующем утверждении: и данные, и события щелчка мышью можно сериализовать в объекте ViewState. Однако элемент управления CrystalReportViewer связывается с несериализуемыми объектами (в частности, с классами ReportDocument, ReportClientDocument или InfoObject).

Существует одно исключение: когда элемент управления CrystalReportViewer связывается с отчетом с помощью пути к каталогу, строку пути можно сохранять в объекте ViewState. Это единственный сценарий, когда элемент управления CrystalReportViewer можно помещать в условный блок Not © 2014 SAP AG или аффилированная компания SAP. Все права Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide IsPostBack. Однако этот сценарий связывания отчетов менее эффективен и не так широко используется, как связывание с перечисленными выше классами отчета.

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

Если код привязки отчета помещается в условный блок Not IsPostBack, события щелчка мышью в объекте ViewState будут сохранены. Однако связывание отчета не выполняется. Следовательно, возникает исключение.

Если код привязки отчета помещается вне условного блока, связывание отчета выполняется. Однако в процессе происходит перезапись объекта ViewState. Следовательно, события щелчка мышью Эта проблема обычно наблюдается при перемещении по отчету, состоящем из нескольких страниц, в элементе управления CrystalReportViewer. Отчет постоянно возвращается к странице 1.

Рекомендуемое решение: перемещение кода связывания элемента управления CrystalReportViewer в событие Init Для элемента управления CrystalReportViewer проблема решается следующим образом: код связывания отчета перемещается в событие Init, возникающее перед восстановлением объекта ViewState.

С этим решением связана одна сложность. Поскольку кодирование события Init осуществляется гораздо реже, чем для события Load, к нему сложнее добраться. В веб-проектах и проектах Windows системы Visual Studio.NET 2003 код обработки события Init расположен в области кода, автоматически созданного конструктором веб-форм, обычно скрытой и зарезервированной для генерируемого кода.

Для решения этой проблемы рекомендуется применять описанный ниже подход.

Извлеките весь код связывания и настройки CrystalReportViewer в частный вспомогательный метод с именем ConfigureCrystalReports().

В области кода Web Form Designer Generated поместите в обработчик событий Page_Init() или метод вызова события OnInit() только одну строку кода: вызов вспомогательного метода ConfigureCrystalReports().

Инструкции по созданию и заполнению вспомогательного метода ConfigureCrystalReports() приведены в разделе Настройка проекта [стр. 16].

Связанные сведения Учебное пособие: сохранение объектной модели ReportDocument с использованием Session [стр. 343] В этом учебном пособии используется объектная модель ReportDocument и вносятся программные изменения в отчет во время выполнения.

Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide 1.3.4 Масштабирование приложения Одним из важнейших решений при планировании процесса разработки приложения в SAP Crystal Reports SDK является решение об оптимизации масштабируемости. Приложение можно масштабировать двумя способами:

оптимизировать производительность приложения;

оптимизировать производительность отчета.

Использование этих методов подробно описано в следующих разделах.

Масштабирование кода приложения При использовании SAP Crystal Reports.Net SDK увеличение масштабируемости может быть достигнуто при следовании следующим рекомендациям:

сокращение использования наборов данных;

кэширование отчетов;

удаление отчета из памяти после использования;

обработка на нескольких серверах.

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

уменьшение размера и сложности отчетов (где это возможно);

перекладывание нагрузки, связанной с выбором записей, на сервер базы данных;

использование отчетов по запросу.

1.3.4.1 Варианты обновления 1.3.4.1.1 Решения по созданию отчетов SAP BusinessObjects Business Intelligence В семействе продуктов SAP BusinessObjects Business Intelligence представлен целый ряд решений по созданию отчетов. Ассортимент продуктов и различные лицензии на их развертывание способны удовлетворить все потребности в масштабируемости решения для создания отчетов.

На этой странице предоставляется сводка каждого из решений по созданию отчетов. Дополнительные сведения доступны на веб-сайте SAP BusinessObjects.

© 2014 SAP AG или аффилированная компания SAP. Все права Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide SAP Crystal Reports, версия для разработчиков Microsoft Visual Studio Версия SAP Crystal Reports для разработчиков Microsoft Visual Studio позволяет разработчикам быстро и продуктивно создавать и использовать в приложениях отчеты профессионального уровня, используя привычную среду разработки Visual Studio.

В версию SAP Crystal Reports для разработчиков Microsoft Visual Studio включены многие функции SAP Crystal Reports. Сюда входит возможность создания отчетов, привязки их к элементу управления CrystalReportViewer и программного взаимодействия с такими отчетами с помощью набора разработчика SAP Crystal Reports SDK.

SAP Crystal Server или платформа SAP BusinessObjects Business Intelligence Сервер RAS входит в состав SAP Crystal Reports Server и платформы SAP BusinessObjects Business Intelligence. Он обеспечивает значительное повышение производительности и масштабируемости для создания и обработки отчетов, а также для управления отчетами.

Сервер SAP Crystal Reports Server предоставляет пользователям все необходимые возможности для создания, управления и безопасного развертывания отчетов в веб-среде в одном недорогом пакете. Он охватывает все этапы создания отчета, включая доступ к данным и проектирование отчета, управление и доставку, а также интеграцию в порталы и приложения, что облегчает совместное использование существующих и новых отчетов Crystal в Интернете.

Многосерверная платформа бизнес-аналитики SAP BusinessObjects Business Intelligence предназначена для работы с крупными отчетами и выполнения функций бизнес-аналитики. Его мультисерверная среда обеспечивает отказоустойчивость, выравнивание нагрузки, масштабируемость и надежность, необходимые для успешной работы с более объемными, критически важными заданиями. Кроме того, на платформе SAP BusinessObjects Business Intelligence реализуются расширенные функции создания отчетов, такие как аудит, SAP Crystal Reports Explorer, Encyclopedia и Process Tracker.

Для создания, управления и безопасного развертывания отчетов на малых и средних предприятиях используйте SAP Crystal Reports Server. Платформа SAP BusinessObjects Business Intelligence предназначена для работы с критически важными приложениями, обеспечения максимальной масштабируемости и получения дополнительных инструментов бизнес-аналитики.

1.3.4.1.2 Сравнение решений по созданию отчетов SAP BusinessObjects Business Intelligence В приведенной таблице содержится информация, которая поможет определить, какое из решений по созданию отчетов SAP BusinessObjects Business Intelligence соответствует желаемому уровню масштабируемости.

Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide смотр отчетов Windows Designer устройств базы данных симостей отчетов ные параметры развертывание ставкой информации щита отчета изменение отчетов CrystalReportViewer ReportDocument © 2014 SAP AG или аффилированная компания SAP. Все права Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide защищены.

ReportClientDocument InfoObject версий платформы.NET Framework Связанные сведения Сравнение архитектур решений по созданию отчетов SAP Business Intelligence [стр. 42] 1.3.4.1.3 Сервер RAS (Report Application Server) Его можно использовать для создания и изменения отчетов Crystal, а также для обработки запросов страниц.

Одной из технологий SAP BusinessObjects является сервер RAS (Report Application Server). Сервер RAS является и клиентом SDK, и сервером. Его можно использовать для создания и изменения отчетов Crystal, а также для обработки запросов страниц. Когда серверный процесс получает запрошенный отчет, сервер RAS передает его в средство просмотра отчетов.

Сервер RAS доступен только в составе SAP Crystal Reports Server или платформы SAP BusinessObjects Business Intelligence.

Управляемый сервер RAS Сервер RAS, который управляется другими компонентами структуры предприятия, называется управляемым сервером RAS. Приложения SAP Crystal Reports Server и SAP BusinessObjects Enterprise служат для создания инфраструктуры серверов, облегчающей процесс управления отчетами и их распространения с помощью веб-ресурсов в масштабах всего предприятия. Управляемый сервер RAS является одним из нескольких серверов, входящих в данную структуру. Он способен обрабатывать отчеты, расположенные на одном компьютере с веб-сервером и RAS SDK (неуправляемые отчеты), а также отчеты, расположенные на отдельном сервере репозитория отчетов (управляемые отчеты).

Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide Управляемый сервер RAS может использовать объектную модель ReportClientDocument и объектную модель InfoObject.

Использование API-интерфейса RAS без сервера RAS Программа SAP Crystal Reports обеспечивает доступ к дополнительным возможностям создания и изменения отчетов объектной модели ReportClientDocument из состава CR.NET SDK. Для пакета развертывания в этом сценарии требуются только сборки.NET при условии использования внутрипроцессного API-интерфейса RAS.

Однако при использовании внутрипроцессного API-интерфейса RAS теряются преимущества производительности и стабильности внепроцессной системы, ориентированной на работу с серверами.

Чтобы воспользоваться этими преимуществами, используйте API RAS совместно с сервером RAS в среде SAP Crystal Reports Server или платформы SAP BusinessObjects Business Intelligence.

Дополнительные сведения и примеры кода см. в разделе справочника API, посвященном свойству ReportClientDocument класса CrystalDecisions.CrystalReports.Engine.ReportDocument.

Связанные сведения Сравнение архитектур решений по созданию отчетов SAP Business Intelligence [стр. 42] Объектная модель ReportClientDocument (RAS) [стр. 39] 1.3.4.2.1 Неиспользование наборов данных для простых запросов Способ создания отчетов из наборов данных имеет ряд преимуществ, однако наборы данных необязательно использовать в качестве механизма доступа к данным, когда одной из основных задач является оптимизация масштабируемости. Если приложение создает набор данных исключительно для использования в отчете, особенно если используется простой запрос, например, SELECT поле 1, поле FROM таблица, применение наборов данных не дает ощутимых преимуществ.

В таких случаях прямое подключение SAP Crystal Reports к базе данных для выполнения запроса (стандартное поведение для любого отчета, созданного в конструкторе SAP Crystal Reports), сэкономит и время, и ресурсы памяти.

Использование наборов данных имеет смысл в двух ситуациях.

При необходимости комбинирования данных из нескольких источников данных.

При необходимости изменения данных в наборах данных после выполнения запроса.

© 2014 SAP AG или аффилированная компания SAP. Все права Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide Связанные сведения Учебное пособие: подключение к наборам данных ADO.NET [стр. 554] 1.3.4.2.2 Кэширование наборов данных в случае их использования Наборы данных становятся эффективным инструментом оптимизации масштабируемости, если они кэшируются.

При загрузке отчета во время выполнения подсистема отчетов SAP Crystal Reports пытается организовать пул подключения к базе данных. Например, если три пользователя одновременно обращаются к одной странице ASPX с одним отчетом, для обработки всех трех запросов используется одно соединение с базой данных. Однако сам запрос не входит в пул. Даже если запросы идентичны во всех трех случаях, запрос выполняется каждый раз, когда отчет запрашивается подсистемой отчетов. Для медленных запросов или больших наборов данных такие запросы на уровне отдельных пользователей могут оказаться узким местом приложения.

Многократное выполнение того же самого запроса на уровне отдельного пользователя и избыточное заполнение набора данных будет еще менее эффективным подходом из-за переполнения памяти.

Для сокращения числа запросов к базе данных поместите набор данных в объект Cache ASP.NET после первого запроса, чтобы все операции отчета использовали один набор данных из объекта Cache.

Связанные сведения Подключение к наборам данных ADO.NET [стр. 160] Формирование отчетов о наборах данных ADO.NET [стр. 675] В данном разделе приводятся пояснения по подключению отчета к набору данных ADO.NET.

1.3.4.2.3 Использование метода Close() для удаления отчета из памяти Для освобождения занятой отчетом памяти следует использовать один из доступных методов Close().

Еще одним способом оптимизации масштабируемости в проекте версии SAP Crystal Reports для разработчиков Microsoft Visual Studio является использование метода Close() для высвобождения занимаемой отчетом памяти.

Доступно два метода Close():

метод ReportDocument.Close(), используемый в SAP Crystal Reports;

метод ReportClientDocument.Close(), используемый в RAS SDK.

Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide Метод ReportDocument.Close() С помощью метода ReportDocument.Close() можно высвободить память, занимаемую на веб-сервере отчетом Crystal.

Способ доступа к методу ReportDocument.Close() зависит от используемого типа отчета (встроенный или невстроенный).

При использовании встроенного отчета генерируется интерфейсный класс отчета, представляющий отчет в коде. Этот интерфейсный класс отчета наследует от ReportDocument, и доступ к методу Close() осуществляется посредством наследования.

Невстроенный отчет загружается из каталога с файлом отчета в экземпляр ReportDocument, и доступ к методу Close() осуществляется непосредственно в классе ReportDocument.

И отчет Crystal, и экземпляр ReportDocument используют память сервера. При удалении экземпляра ReportDocument из памяти отчет продолжает занимать память.

Например, экземпляр ReportDocument выходит за пределы диапазона при завершении загрузки вебстраницы. Когда процесс утилизации памяти для.NET удаляет экземпляр ReportDocument, высвобождается память, используемая экземпляром ReportDocument.

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

Для решения этой проблемы используется вызов метода ReportDocument.Close(). Он закрывает отчет на веб-сервере, высвобождая память для следующих отчетов.

Когда следует вызывать метод ReportDocument.Close() Метод ReportDocument.Close() не следует вызывать для страницы перед отображением отчета, потому что даже если отчет был закрыт, ReportDocument заново откроет отчет при повторном обращении. Вызов метода Close() выполняется только после завершения процесса отображения.

Правильный момент для вызова метода Close() – во время события Page_Unload.

Метод ReportClientDocument.Close() При работе с неуправляемым или управляемым сервером RAS отчеты сохраняются на сервере RAS, а на веб-сервере они представлены экземпляром ReportClientDocument. Если экземпляр ReportClientDocument выходит за пределы диапазона без вызова метода ReportClientDocument.Close(), отчет в памяти сервера RAS остается открытым, даже если дальнейший доступ к отчету не является возможным. Когда такие ситуации повторяются в большом масштабе, память сервера RAS заполняется отчетами, к которым больше не осуществляется доступ на веб-сервере.

Для решения этой проблемы используется вызов метода ReportClientDocument.Close(). Он закрывает отчет на сервере RAS, высвобождая память для следующих отчетов.

© 2014 SAP AG или аффилированная компания SAP. Все права Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide Когда следует вызывать метод ReportClientDocument.Close() Метод Close() не следует вызывать для страницы до отображения отчета, поскольку отчет должен оставаться открытым на сервере, пока процесс отображения не будет завершен.

Для экземпляра ReportClientDocument метод Close() незамедлительно закрывает отчет без возможности повторного открытия. Таким образом, вызов метода Close() перед отображением отчета приведет к невозможности доступа к отчету и возникновению исключения.

Правильный момент для вызова метода Close() – во время события Page_Unload.

Связанные сведения Сравнение встроенных и невстроенных отчетов [стр. 167] 1.3.4.2.4 Использование сценария веб-фермы или вебсада Веб-ферма позволяет расширить веб-сайт в пределах нескольких серверов. Веб-сад позволяет расширить веб-сайт в пределах нескольких процессоров на одном сервере. Распределение рабочей нагрузки обработки отчета по нескольким процессорам или серверам может повысить производительность вебприложения, формирующего отчеты.

Связанные сведения Использование SAP Crystal Reports в веб-ферме или веб-саду [стр. 77] 1.3.4.3.1 Использование отчетов меньшего размера Еще один способ оптимизировать масштабируемость в проекте версии SAP Crystal Reports для разработчиков Microsoft Visual Studio – использовать отчеты меньшего размера.

Размер отчета по возможности не должен превышать 15 страниц. Пользователи веб-приложений в большинстве случаев хотят видеть только несколько ключевых моментов отчета, а не многочисленные страницы данных.

Отчеты, используемые в приложениях для настольных систем, больше не могут использоваться в вебприложениях.

Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide Для сокращения размера отчета следует использовать формулу выбора записей, чтобы ограничить число записей, возвращаемых для отчета. Для этого можно использовать один из трех способов.

Формула выбора записей может быть жестко закодирована в отчете с помощью встроенного конструктора SAP Crystal Reports.

Дальнейшую фильтрацию полученных отчетом записей можно выполнять программным способом.

Для объектной модели CrystalReportViewer используйте одно из следующих свойств CrystalReportViewer: SelectionFormula или ViewTimeSelectionFormula.

Для объектной модели ReportDocument используйте свойство ReportDocument RecordSelectionFormula.

Связанные сведения Учебное пособие: фильтрация данных с использованием формул выбора [стр. 293] В этом учебном пособии рассказывается о том, как использовать формулы выбора для фильтрации записей, которые необходимо отобразить в отчете Crystal.

1.3.4.3.2 Использование графики меньшего размера Еще один способ оптимизировать масштабируемость в проекте версии SAP Crystal Reports для разработчиков Microsoft Visual Studio – использовать в отчете графику меньшего размера.

Когда одной из основных задач является оптимизация масштабируемости, графику необязательно полностью исключать из отчета, однако следует использовать ее экономно, поскольку она расходует системные ресурсы.

Когда отчет, содержащий графику (диаграмму или изображение), отображается в элементе управления CrystalReportViewer, подсистема отчетов создает временный JPG-файл (в папке dynamic_images), для извлечения которого браузер должен создать отдельный запрос к веб-серверу.

Элемент управления CrystalReportViewer также периодически выполняет поиск и удаление устаревших изображений в папке dynamic_images. Такие обращения к диску могут негативно влиять на производительность отчета. Использование небольшого числа диаграмм и изображений сокращает количество обращений к диску.

Связанные сведения Настройка файла Web.Config [стр. 20] Каталог средств просмотра [стр. 14] © 2014 SAP AG или аффилированная компания SAP. Все права Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide 1.3.4.3.3 Переконструирование подотчетов для сокращения нагрузки Изменение способа использования подотчетов в приложении может оказать значительное влияние на производительность приложения.

Еще один способ оптимизировать масштабируемость в проекте версии SAP Crystal Reports для разработчиков Microsoft Visual Studio – переконструировать вызовы к подотчетам с целью сокращения числа заданий отчетов.

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

Также следует иметь в виду, что при помещении подотчетов в повторяющиеся разделы, например заголовки групп или разделы сведений, каждый экземпляр подотчета требует выполнения отдельного задания отчета. Это означает, что отчет со 100 записями и подотчетом в разделе сведений фактически выполняет 101 задание отчета.

Переконструирование подотчетов в виде элемента управления.NET DataGrid, связанного с отчетами Для подотчетов часто используется модель "сводка/подробности":

Основной отчет содержит строки сводки.

Каждая строка связана с подотчетом, содержащим подробные сведения.

Вместо этого данные сводки, не предназначенные для печати, можно представить в виде списка строк.

Другими словами, вместо того, чтобы использовать отчет с данными сводки, связанный с несколькими подотчетами, содержащими подробности, можно использовать для данных сводки элемент управления.NET DataGrid, связанный с несколькими обычными отчетами, содержащими подробности.

Использование элемента управления.NET DataGrid в качестве сводки является более простым решением, способствующим оптимизации масштабируемости.

Для этого свяжите результирующий набор данных с элементом управления DataGrid, где каждый идентификатор строки будет связан с отчетом. В этом случае для каждой строки будет использоваться только один отчет (с параметром, принимающим уникальный идентификатор, передаваемый из URL идентификатора строки DataGrid).

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

Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide 1.3.4.3.4 Неиспользование полей, блокирующих обработку по запросу Еще один способ оптимизировать масштабируемость в проекте версии SAP Crystal Reports для разработчиков Microsoft Visual Studio – не использовать поля, блокирующие обработку по запросу.

SAP Crystal Reports обрабатывает отчеты по запросу. Например, если необходимо отобразить первую страницу отчета, он обрабатывает только эту первую страницу, а не весь отчет. Однако вставка на первой странице отчета полей или формул, зависящих от выполнения обработки отчета, исключает обработку по запросу.

Например, если на первой странице вставить специальное поле "Страница N из M", то прежде чем страница может быть отображена, для определения номера страницы потребуется обработка всего отчета. В результате отображение первой страницы происходит с задержкой, необходимой для выполнения обработки всего отчета. Такое же поведение наблюдается при использовании процентов при вычислении общих сумм.

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

1.3.4.3.5 Выбор параметра "Нет принтера" в окне "Параметры печати" Еще одним способом оптимизации масштабируемости в проекте версии SAP Crystal Reports для разработчиков Microsoft Visual Studio является выбор параметра Нет принтера в окне Параметры печати.

Параметр "Нет принтера" Как правило, при создании отчета Crystal на компьютере назначается стандартный принтер. Этот стандартный принтер определяет макет изображений, шрифтов и полей базы данных в отчете.

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

Например, некоторые драйверы принтера содержат утечки памяти или дескриптора файлов. Если отчет использует драйвер принтера с такими утечками, это негативно влияет на производительность отчета.

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

Примечание Одним из последствий отключения драйверов принтера для отчета может быть несоответствие результата печати на выбранном принтере макету отчета. Вследствие этого после отключения для отчета драйверов принтера рекомендуется выполнить тестовую печать на выбранном принтере. При необходимости следует отредактировать макет отчета.

© 2014 SAP AG или аффилированная компания SAP. Все права Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide Связанные сведения Удаление драйвер принтера по умолчанию из отчета [стр. 124] 1.3.5 Использование SAP Crystal Reports в веб-ферме или веб-саду Данный раздел содержит общие сведения об использовании версии SAP Crystal Reports для разработчиков Microsoft Visual Studio в сценарии веб-фермы или веб-сада.

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

1.3.5.1 Архитектура веб-фермы или веб-сада Архитектура веб-фермы Веб-ферма состоит из нескольких серверов, отображаемых в клиентском браузере в виде одного виртуального сервера с одним адресом MAC и TCP/IP.

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

Управление распределением пакетов осуществляется средством балансировки нагрузки сети. Средство балансировки нагрузки сети выполняет следующие функции:

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

определяет, какой сервер будет обрабатывать определенный запрос;

обеспечивает оптимизацию использования ресурсов для сервера и времени ожидания для клиента;

представляет собой серьезную альтернативу сценарию родственности клиента.

Сценарий родственности запрещает повторное подключение клиента к одному и тому же серверу Обычно этот механизм отключается, поскольку он создает пробки запросов к определенному Каждому серверу в веб-ферме соответствует драйвер сетевого устройства балансировки нагрузки сети, осуществляющий связь с другими серверами, и, как правило, каждый сервер имеет два сетевые карты.

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

Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide Драйвер сетевого устройства балансировки нагрузки сети доступен в следующих операционных системах Windows Server.

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

Этот единый симметричный многопроцессорный сервер (SMP) использует ASP.NET для запуска отдельного рабочего процесса ASP.NET на каждом процессоре. Сервер распределяет запросы от клиентов между несколькими процессорами сервера.

1.3.5.2 Рабочий процесс ASP.NET ASP.NET запускается в рамках процесса, известного как рабочий процесс ASP.NET. Все средства ASP.NET работают в пределах этого процесса.

Обычный веб-сервер содержит один рабочий процесс ASP.NET. Для веб-фермы и веб-сада ситуация отличается.

Веб-ферма содержит несколько рабочих процессов ASP.NET.

Каждый сервер в группе серверов обрабатывает отдельный рабочий процесс ASP.NET.

Веб-сад содержит несколько рабочих процессов ASP.NET.

Каждый процессор SMP-сервера обрабатывает отдельный рабочий процесс ASP.NET.

Выбор рабочего процесса ASP.NET Когда веб-клиент подключается к веб-ферме или веб-саду, для обработки запроса выбирается один из нескольких рабочих процессов ASP.NET.

В веб-ферме выбор рабочего процесса ASP.NET осуществляет средство балансировки нагрузки сети.

В веб-саде выбор рабочего процесса ASP.NET осуществляет ASP.NET.

Управление состоянием в сценарии с несколькими рабочими процессами ASP.NET При переходе от сценария с одним рабочим процессом ASP.NET (обычный веб-сервер) к сценарию с несколькими рабочими процессами ASP.NET (веб-ферма или веб-сад) возникают сложности с управлением состоянием.

Веб-страницы не имеют состояния, поэтому веб-сервер должен сохранять состояние другими средствами.

Типичными средствами управления состоянием на веб-сервере являются состояние сеанса (Session) и Cache ASP.NET.

© 2014 SAP AG или аффилированная компания SAP. Все права Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide Объекты Session и Cache содержатся в области памяти одного процесса обработчика ASP.NET. Веб-ферма или веб-сад предполагают одновременную работу нескольких рабочих процессов ASP.NET. Объект Session или Cache в пределах отдельного рабочего процесса ASP.NET не может управлять состоянием для нескольких процессов.

Вследствие этого для управления состоянием требуется дополнительный слой: внепроцессный сервер состояния сеанса, позволяющий хранить и извлекать данные состояния для каждого рабочего процесса ASP.NET в веб-ферме или веб-саде.

Связанные сведения Внепроцессное состояние сеанса [стр. 79] Особенности использования различных методов сохранения в SAP Crystal Reports [стр. 54] 1.3.5.3 Внепроцессное состояние сеанса В веб-фермах или веб-садах состояние сеанса должно поддерживаться на всех серверах посредством определенной формы внепроцессного состояния сеанса.

Как правило, используется одно из двух решений:

разворачивается сервер внепроцессного состояния сеанса из состава ASP.NET;

вручную настраивается каждый веб-сервер для хранения данных состояния сеанса на сервере SQL Требования к сериализации В обоих решениях все сохраняемые объекты должны быть сериализуемыми. Если объект не подлежит сериализации, его нельзя сохранять на сервере внепроцессного состояния.

Не все объектные модели в SAP Crystal Reports SDK являются сериализуемыми. Тем не менее, SAP предлагает пакет обновления, обеспечивающий управление состоянием отчетов для внепроцессных серверов.

Связанные сведения Сериализуемые объектные модели в SAP Crystal Reports [стр. 80] Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide 1.3.5.4 Сериализуемые объектные модели в SAP Crystal Reports В SAP Crystal Reports доступны четыре объектные модели: две из них поставляются в составе SAP Crystal Reports и еще две добавляются посредством обновления.

В данном разделе содержатся сведения о том, какие объектные модели могут быть сериализованными для использования с сервером внепроцессного состояния сеанса.

Примечание Вводные сведения о внепроцессном состоянии сеанса см. в разделе Внепроцессное состояние сеанса [стр. 79].

Сериализация и объектная модель CrystalReportViewer Объектная модель CrystalReportViewer является ограниченной объектной моделью в составе APIинтерфейса элемента управления CrystalReportViewer. В большинстве случаев из-за ограниченных возможностей вместо этой объектной модели рекомендуется использовать более мощную модель ReportDocument.

Однако объектную модель CrystalReportViewer можно использовать в веб-ферме или веб-саде. Это обусловлено тем, что CrystalReportViewer содержится в элементе управления веб, а сохранением элемента управления веб управляет свойство ViewState на стороне клиента. Сохранение ViewState помещает состояние элементов управления веб-сервера ASP.NET в зашифрованную строку, а затем включает эту зашифрованную строку как скрытое поле формы на странице ASPX во время перезагрузки страницы. Данные состояния могут передаваться любому рабочему процессу ASP.NET.

Примечание Такая форма сохранения клиента работает только при перезагрузке страницы. ViewState не может сохранять информацию для других страниц.

Сериализация и объектная модель ReportDocument Объектная модель ReportDocument является более мощной моделью по сравнению с CrystalReportViewer и, следовательно, предпочтительной для использования в SAP Crystal Reports.

Однако в SAP Crystal Reports версии 9 и более ранних версий класс ReportDocument не мог быть сериализованным и поэтому сам по себе не мог использоваться с сервером внепроцессного состояния сеанса в сценарии веб-фермы или веб-сада.

В SAP Crystal Reports 10 и более поздних версий это ограничение было устранено путем связывания объектной модели ReportDocument с сериализуемой объектной моделью ReportClientDocument.

Доступ к объектной модели ReportClientDocument можно получить различными способами.

© 2014 SAP AG или аффилированная компания SAP. Все права Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide Для использования объектной модели ReportDocument в сценарии веб-фермы или веб-сада необходимо, чтобы сервер внепроцессного состояния сеанса ASP.NET сохранял состояние сериализованного экземпляра ReportDocument, а неуправляемый сервер RAS сохранял RPT-файл отчета Crystal.

Сериализация объектной модели ReportDocument возможна только после установки сервера RAS и задания свойств ReportDocument.ReportAppServer и ReportDocument.EnterpriseSession для обращения к этому серверу.

Сериализация и объектная модель ReportClientDocument Объектная модель ReportClientDocument поддерживает сериализацию. Доступ к объектной модели ReportClientDocument можно получить различными способами.

Объектная модель InfoObject Объектная модель InfoObject входит в состав пакета обновления Crystal, SAP Crystal Reports Server и платформы SAPBusinessObjects Business Intelligence. SAP Crystal Reports Server и платформа SAP BusinessObjects Business Intelligence – это многосерверные решения корпоративного уровня, на базе которых обычно реализуются архитектуры, альтернативные веб-фермам или веб-садам.

Связанные сведения Использование SAP Crystal Reports в веб-ферме или веб-саду [стр. 77] Выбор правильной объектной модели для проекта [стр. 32] Использование объекта ViewState для сохранения объектной модели CrystalReportViewer [стр. 56] 1.3.5.5 Настройка SAP Crystal Reports для веб-фермы или веб-сада Дополнительные серверы Помимо серверов веб-фермы или веб-сада вам понадобятся два дополнительных сервера:

сервер внепроцессного состояния сеанса ASP.NET для хранения состояния сериализованного экземпляра ReportDocument;

неуправляемый сервер RAS для хранения файла отчета Crystal (.rpt).

Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide Дополнительные сведения см. в разделе Решения по созданию отчетов SAP BusinessObjects Business Intelligence [стр. 66].

Особенности использования объекта ReportDocument Веб-ферма или веб-сад использует сервер внепроцессного состояния сеанса ASP.NET для хранения сериализованного объекта ReportDocument. В этом сценарии объект ReportDocument используется иначе, чем в базовой установке SAP Crystal Reports.

Метод ReportDocument.Load() или свойство ReportDocument.FileName связывает экземпляр ReportDocument с внепроцессным отчетом, сохраняемым на неуправляемом сервере RAS. В следующем разделе приведены примеры использования обоих подходов.

Сохранение файла отчета (.rpt) на внепроцессном неуправляемом сервере RAS обеспечивает возможность доступа к одному и тому же RPT-файлу из центрального хранилища для каждого рабочего процесса ASP.NET в веб-ферме или веб-саде.

Настройка ReportDocument для неуправляемого сервера RAS Отношения между экземпляром ReportDocument и неуправляемым сервером RAS можно настроить описанными далее способами.

Загрузите локальный встроенный отчет Crystal в экземпляре ReportDocument на неуправляемый сервер RAS во время выполнения. При этом RPT-файл отчета будет временно сохранен на внепроцессном неуправляемом сервере RAS.

Свяжите внешний отчет, постоянно сохраняемый на внепроцессном неуправляемом сервере RAS, с экземпляром ReportDocument, указав путь к каталогу с файлом отчета на неуправляемом сервере RAS в свойстве FileName экземпляра ReportDocument.

Экземпляр ReportDocument на сервере состояния сеанса, RPT-файл на неуправляемом сервере RAS Экземпляр ReportDocument, который при использовании в сочетании с решением обновления Crystal на неуправляемом сервере RAS может быть сериализованным, сохраняется на внепроцессном сервере состояния сеанса ASP.NET.

Поскольку экземпляр ReportDocument остается активным на сервере состояния сеанса, файл отчета Crystal (.rpt), связанный с экземпляром ReportDocument, остается открытым на неуправляемом сервере RAS.

© 2014 SAP AG или аффилированная компания SAP. Все права Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide Когда другой рабочий процесс ASP.NET в веб-ферме или веб-саде извлекает экземпляр ReportDocument на внепроцессном сервере состояния сеанса, экземпляр ReportDocument с неуправляемого сервера RAS обращается к соответствующему RPT-файлу.

Запись изображений в общем сетевом хранилище Использование веб-фермы требует настройки еще одного параметра.

Изображения, которые записываются в процессе создания отчетов (например, динамические диаграммы), необходимо поместить в общее сетевое хранилище и обеспечить доступ к ним для всех рабочих процессов ASP.NET. Настройки на каждом компьютере должны обеспечивать запись изображений в одно и то же сетевое хранилище и предоставлять разрешение на запись в этом хранилище рабочим учетным записям ASP.NET на каждом компьютере.

Чтобы настроить компьютер на получение доступа к этому каталогу, добавьте в реестр следующую информацию.

[HKEY_LOCAL_MACHINE\SOFTWARE\Business Objects\Suite 12.0\Report Application Server \Viewer] "CrystalImageDir"="\\fileserver\images" Подробные инструкции по настройке Подробные сведения о настройке, необходимой для запуска SAP Crystal Reports в веб-ферме или веб-саде, можно получить на веб-сайте технической поддержки.

1.3.6 Работа с Crystal Reports как с веб-службой В данном разделе рассматривается работа с отчетами Crystal, опубликованными как веб-службы отчетов.

Веб-службы обеспечивают возможность коллективного использования данных и возможностей для различных приложений. Например, система бухгалтерского учета может подключаться к системе регистрации заказов. Компании также могут использовать веб-службы для коллективного использования данных и возможностей приложений с другими компаниями.

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

они используют HTTP в качестве веб-протокола;

они основаны на XML;

они поддерживают протокол SSL.

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

Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide SAP Crystal Reports поддерживает публикацию и обслуживание отчетов как веб-служб отчетов. Вебприложения и приложения Windows могут подключаться к веб-службе отчетов и отображать отчет Crystal, предоставляемый этой службой.

1.3.6.1 Публикация и обслуживание отчета как вебслужбы В версии SAP Crystal Reports для разработчиков Microsoft Visual Studio отчеты Crystal можно опубликовать как веб-службы.

Публикация отчета как веб-службы отчетов В версии SAP Crystal Reports для разработчиков Microsoft Visual Studio при выборе параметра, позволяющего опубликовать отчет Crystal в веб-службе отчетов, эта веб-служба компилируется в библиотеке DLL, которая генерирует XML-файл с расширением файла веб-службы.NET (.asmx). ASMXфайл описывает общие функции, параметры ввода, типы данных и типы возвращаемых данных, предоставляемые веб-службой отчетов. Файлы DLL и ASMX публикуются на веб-сервере как веб-служба отчетов. Клиентский веб-браузер может обратиться к веб-службе отчетов посредством вызова URL вебслужбы. Данные передаются веб-службе и обратно через протокол HTTP в форме XML-файла.

Обслуживание отчета как веб-службы отчетов на клиентском компьютере Чтобы получить доступ к опубликованной веб-службе отчетов из клиентского приложения, необходимо передать строку URL свойству ReportSource элемента управления CrystalReportViewer с веб-сайта или из проекта Windows.

Связанные сведения Использование службы Crystal Services [стр. 86] Работа с Crystal Reports как с веб-службой [стр. 83] 1.3.6.1.1 Публикация веб-службы отчетов Предпосылки Перед тем, как начать, необходим существующий отчет Crystal. Отчет будет опубликован как веб-служба, которая затем может быть использована свойством CrystalReportViewer.ReportSource.

© 2014 SAP AG или аффилированная компания SAP. Все права Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide Процедура 1. Запустите Visual Studio.

2. В меню Файл выберите Создать, а затем выберите Веб-сайт.

3. В списке Установленные шаблоны Visual Studio выберите Веб-служба ASP.NET.

4. В поле Расположение введите путь к каталогу и имя каталога веб-службы.

C:\WebServices\MyCrystalReportsWebServices 5. Нажмите кнопку ОК.

6. В Solution Explorer щелкните правой кнопкой мыши имя проекта, выделенное жирным шрифтом, и выберите Добавить существующий элемент….

7. В диалоговом окне Добавление существующего элемента выберите для параметра Файлы типа значение "Все файлы (*.*)".

8. Добавьте к проекту существующий отчет Crystal.

9. Щелкните правой кнопкой мыши отчет и выберите команду Опубликовать как веб-службу.

Создана новая служба.

10. Правой кнопкой мыши щелкните на веб-службе и выберите Установить начальную страницу.

При запуске приложения новая веб-служба будет отображена в веб-браузере. Можно использовать URL веб-службы в качестве источника отчета для элемента управления CrystalReportViewer.

В Visual Studio 2005 и более поздних версий службы IIS не используются по умолчанию для просмотра веб-сайтов и веб-служб. Вместо этого веб-сервером по умолчанию является веб-сервер Visual Web Developer. Если используется этот веб-сервер, URL содержит только временный, произвольный номер порта, действительный только во время компиляции. Чтобы получить доступ к URL этой веб-службы из клиентского приложения, сначала необходимо настроить каталог для проекта веб-службы как виртуальный каталог в IIS. Виртуальный каталог предоставляет постоянный URL для вызовов из клиентского приложения.

1.3.6.1.2 Обслуживание веб-службы отчетов из клиентского проекта Предпосылки Перед тем, как начать, потребуется доступ к отчету, уже опубликованному в качестве веб-службы.

Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide Процедура 1. Добавьте к вашему веб-сайту или приложению Windows элемент управления CrystalReportViewer.

2. В меню Вид выберите команду Код.

3. Назначьте для свойства ReportSource класса CrystalReportViewer строку URL-адреса веб-службы отчетов.

myCrystalReportViewer.ReportSource = "http://localhost/MyCrystalReportsWebService/Hierarchical_GroupingService.asmx" crystalReportViewer.ReportSource = "http://localhost/MyCrystalReportsWebService/Hierarchical_GroupingService.asmx";

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

1.3.6.2 Использование службы Crystal Services Версия SAP Crystal Reports для разработчиков Microsoft Visual Studio поддерживает программное подключение к отчетам через веб-службу Crystal Services. Служба Crystal Services облегчает подключение к отчетам, предоставляемым различными серверами в сети.

Источники отчетов в этих узлах и классы, которые они генерируют (при перетаскивании в веб-форму или форму Windows), отличаются для различных версий SAP Crystal Reports.

Использование службы Crystal Services c SAP Crystal Reports 2005 или более поздними версиями В Visual Studio 2005 доступ к службе Crystal Services осуществляется на программном уровне. Служба Crystal Services позволяет генерировать список отчетов, доступных на локальном или удаленном компьютере, и обращаться к этим отчетам через веб-службу.

Код соединения необходимо вводить вручную в версии SAP Crystal Reports для разработчиков Microsoft Visual Studio.

Crystal Services использует протокол веб-служб отчетов для доступа к виртуальному каталогу на сервере, известному как виртуальный каталог средств просмотра.

© 2014 SAP AG или аффилированная компания SAP. Все права Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide Использование Crystal Services с SAP Crystal Reports для Visual Studio.NET В SAP Crystal Reports для Visual Studio 2003 доступ к службе Crystal Services осуществляется из Server Explorer.

Разворачиваемый подузел Crystal Services содержит подузлы следующего уровня. Имена этих подузлов могут отличаться в разных версиях SAP Crystal Reports, однако каждый подузел Crystal Services разворачивается и отображает список отчетов в локальном каталоге или на сервере в сети.

В некоторых случаях подузел Crystal Services использует протокол веб-служб отчетов. В этих случаях данный протокол используется для доступа к виртуальному каталогу на сервере, известному как виртуальный каталог средств просмотра.

В других случаях устанавливается прямое соединение с неуправляемым сервером RAS, SAP Crystal Reports Server или платформой SAP BusinessObjects Business Intelligence. В этих случаях протокол веб-служб отчетов не используется.

Для доступа к центральному серверу управления платформы SAP BusinessObjects Business Intelligence может потребоваться настройка параметров брандмауэра. Порт по умолчанию для CMS – 6400. Для получения сведений об адресе в сети и настройках порта для системы платформы SAP BusinessObjects Business Intelligence обратитесь к системному администратору. Дополнительные сведения о настройке портов см. в руководстве администратора платформы SAP BusinessObjects Business Intelligence.

Доступные узлы зависят от конфигурации и условий лицензионного соглашения.

Отчет, предоставляемый через узел Crystal Services, можно перетащить в контейнер компонентов вебформы или формы Windows в Visual Studio.NET 2003.

Связанные сведения Каталог средств просмотра [стр. 14] 1.3.6.3 Настройка файлов сервера в службах Crystal Services Файлы сервера – это одна из групп служб Crystal в составе версии SAP Crystal Reports для разработчиков Microsoft Visual Studio. Файлы сервера – это набор веб-служб отчетов, предоставляемых через виртуальный каталог с помощью пути к каталогу на жестком диске.

Для каждой версии Visual Studio существуют собственные требования к реализации.

Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide 1.3.6.3.1 Настройка файлов сервера в Visual Studio.NET Файлы сервера – это набор веб-служб отчетов, предоставляемых через виртуальный каталог средства просмотра в IIS. Файлы сервера изначально предоставлялись как узел Crystal Services в SAP Crystal Reports в Visual Studio.NET 2002, но впоследствии этот узел был удален. Все последующие версии SAP Crystal Reports продолжают поддерживать файлы сервера в SDK, однако каждая версия требует выполнения определенной процедуры настройки.

Файлы сервера создаются из базовых файлов отчетов, сохраняемых в папке образцов отчетов (или любой другой папке, назначенной пользователем), указанной с помощью пути к каталогу на веб-сервере.

Доступ к файлам сервера может осуществляться двумя способами:

Через видимый узел в Crystal Services.

Такой доступ есть только в SAP Crystal Reports для Visual Studio 2003.

Через программную конфигурацию класса ServerFileReport в SDK.

Доступ к файлам сервера через SDK имеется во всех версиях SAP Crystal Reports.NET.

Файлы сервера предоставляются через виртуальный каталог в IIS. Подключение к базовым файлам отчетов требует настройки разрешений на доступ к каталогу.

Разрешения на доступ настраиваются посредством записей в web.config.

Как настраиваются файлы сервера в Visual Studio.NET В Visual Studio.NET 2003 папка конфигурации для файлов сервера отсутствует, а настройка выполняется путем добавления записи настройки в файле web.config.

Допускается добавление конфигурационной записи в файлы web.config для каждого проекта по отдельности. Однако рекомендуется добавить конфигурационную запись в файл web.config, расположенный в виртуальном каталоге средства просмотра SAP Crystal Reports, чтобы сделать эту информацию доступной для всех проектов Visual Studio.NET. Перед выполнением этой операции ознакомьтесь с дополнительными сведениями о виртуальном каталоге средства просмотра, приведенными в следующем разделе.

Файлы сервера и виртуальный каталог средства просмотра Файлы сервера обслуживаются из IIS из централизованной веб-службы, расположенной в специальном виртуальном каталоге средства просмотра. Каждая последующая версия SAP Crystal Reports создает дополнительный виртуальный каталог средства просмотра в IIS, позволяющий работать с несколькими версиями SAP Crystal Reports.

Дополнительный виртуальный каталог средства просмотра приводит к возникновению проблемы, если вы закодировали файлы сервера в проекте в предыдущей версии SAP Crystal Reports, а теперь обновляете версию. В коде имя виртуального каталога в свойстве WebServiceURL каждого экземпляра ServerFileReport необходимо заменить на имя текущего виртуального каталога средства просмотра, чтобы экземпляры ServerFileReport работали.

© 2014 SAP AG или аффилированная компания SAP. Все права Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide Связанные сведения Настройка файлов сервера в Visual Studio 2005 и более поздних версий [стр. 90] Работа с Crystal Reports как с веб-службой [стр. 83] Каталог средств просмотра [стр. 14] 1.3.6.3.1.1 Изменение виртуального каталога средства просмотра в свойстве WebServiceURL экземпляров ServerFileReport Процедура 1. Найдите в проекте каждый экземпляр ServerFilesReport, для которого было назначено свойство WebServiceURL.

2. Сравните имя виртуального каталога средства просмотра, назначенное в коде, с именем виртуального каталога средства просмотра, используемым в предыдущих версиях.

3. Измените имя виртуального каталога средства просмотра, используемое в самой поздней из установленных версий SAP Crystal Reports.

4. Перекомпилируйте проект и убедитесь в правильности загрузки отчетов.

Следующие шаги Измените файл web.config в виртуальном каталоге средства просмотра, чтобы правильно настроить файлы сервера во всех версиях, выпущенных позднее Visual Studio.NET 2002.

1.3.6.3.1.2 Добавление конфигурационной записи файлов сервера в файле web.config в виртуальном каталоге средства просмотра (все версии, выпущенные позднее Visual Studio.NET 2002) Процедура 1. Найдите виртуальный каталог средства просмотра для самой поздней из установленных версий SAP Crystal Reports.

2. Чтобы проверить, работает ли виртуальный каталог средства просмотра, откройте браузер и введите URL к опубликованным веб-службам отчетов в виртуальном каталоге средства просмотра.

Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide Visual Studio 2003 http://localhost/CrystalReportWebFormViewer2/ SAP Crystal Reports 2008 http://localhost/crystalreportviewers12/ 3. Откройте файл web.config, расположенный в виртуальном каталоге средства просмотра, в текстовом редакторе.

В качестве альтернативного решения можно внести эти изменения только в файл web.config клиентского веб-приложения, которое будет работать с отчетами файлов сервера.

4. В верхней части файла web.config, прямо в конфигурационном тэге, добавьте запись configSections, объявляющую новый тип sectionGroup (crystalDecisions) и его раздел (serverFileReportManager).

5. После закрывающего тэга configSections добавьте новый тип sectionGroup и раздел, которые были объявлены в предыдущем пункте.

В приведенном ниже примере следует изменить значение корневого каталога на каталог, в котором сохранены отчеты. В этом примере используется путь к файлу C:\program files\Microsoft Visual Studio.NET 2003\Crystal Reports\Samples\Reports\Feature Examples.

В поле значения необходимо ввести путь к папке отчетов.

6. Сохраните изменения в файле web.config.

1.3.6.3.2 Настройка файлов сервера в Visual Studio и более поздних версий Файлы сервера – это набор веб-служб отчетов, предоставляющих отчеты на сервере IIS. Файлы сервера изначально предоставлялись как узел Crystal Services в SAP Crystal Reports в Visual Studio.NET 2002, но © 2014 SAP AG или аффилированная компания SAP. Все права Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide впоследствии этот узел был удален. Все последующие версии SAP Crystal Reports продолжают поддерживать файлы сервера в SDK, однако каждая версия требует выполнения определенной процедуры настройки.

Файлы сервера создаются из базовых файлов отчетов, сохраняемых в папке образцов отчетов (или любой другой папке, назначенной пользователем), указанной с помощью пути к каталогу на веб-сервере.

Настройка файлов сервера Настройка файлов сервера в Visual Studio 2005 или более поздних версий состоит из двух этапов.

Первый – создание веб-службы отчетов, предоставляющей отчеты. Второй этап – изменение файла web.config в соответствии с новой веб-службой. В Visual Studio 2005 папка конфигурации для файлов сервера, использовавшаяся в Visual Studio.NET 2002, была упразднена за счет добавления конфигурационной записи в файл web.config.

Допускается добавление конфигурационной записи в файлы web.config для каждого проекта по отдельности. Однако рекомендуется вместо этого добавить конфигурационную запись в файл web.config, расположенный в виртуальном каталоге, содержащем веб-службы отчетов.

Связанные сведения Подключение к веб-службам отчетов с безопасного веб-сайта [стр. 94] Работа с Crystal Reports как с веб-службой [стр. 83] 1.3.6.3.2.1 Создание веб-служб отчетов, необходимых для файлов сервера Процедура 1. Запустите Visual Studio.

2. В меню Файл выберите Создать, а затем выберите Веб-сайт.

3. В диалоговом окне Добавление нового веб-узла выберите Visual C# в списке Язык.

4. В списке шаблонов выберите Веб-служба ASP.NET 5. В поле Расположение вместо имени проекта по умолчанию введите необходимое имя проекта.

В приведенном примере проект сохраняется в папке C:\InetPub\wwwroot\ с именем CrystalReportsWebServices.

C:\InetPub\wwwroot\CrystalReportsWebServices\ 6. Нажмите кнопку ОК.

Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide 7. В меню Отладка выберите команду Начать отладку.

Появится диалоговое окно с предложением изменить файл Web.config. Нажмите кнопку "ОК", чтобы разрешить отладку.

8. После завершения отладки вернитесь к приложению.

9. В окне Solution Explorer щелкните правой кнопкой мыши Service.asmx и выберите команду Удалить.

10. В окне Solution Explorer разверните папку App_Code, щелкните правой кнопкой мыши Service.cs и выберите команду Удалить.

11. В окне Solution Explorer щелкните правой кнопкой мыши имя проекта, выделенное жирным шрифтом, и выберите команду Добавить новый элемент.

12. В диалоговом окне Добавление нового элемента выполните следующие действия:

a) В поле Установленные шаблоны выберите Веб-служба.

b) В поле Имя введите ServerFileReportService.asmx.

c) Снимите флажок Поместить код в отдельный файл.

d) Нажмите кнопку Добавить.

13. Замените содержимое файла ServerFileReportService.asmx следующей строкой:

14. В меню Файл выберите команду Сохранить все.

15. В окне Solution Explorer щелкните правой кнопкой мыши имя проекта, выделенное жирным шрифтом, и выберите команду Добавить новый элемент.

16. В диалоговом окне Добавление нового элемента выполните следующие действия:

a) В поле Установленные шаблоны выберите Веб-служба.

b) В поле Имя введите ServerFileReportManager.asmx c) Снимите флажок Поместить код в отдельный файл.

d) Нажмите кнопку Добавить.

17. Замените содержимое файла ServerFileReportManager.asmx следующей строкой:

18. В меню Файл выберите команду Сохранить все.

1.3.6.3.2.2 Изменение виртуального каталога средства просмотра в свойстве WebServiceURL экземпляров ServerFileReport Процедура 1. Найдите в проекте каждый экземпляр ServerFilesReport, для которого было назначено свойство WebServiceURL.

© 2014 SAP AG или аффилированная компания SAP. Все права Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide 2. Сравните имя виртуального каталога средства просмотра, назначенное в коде, с именем виртуального каталога средства просмотра, используемым в предыдущих версиях.

3. Измените имя виртуального каталога средства просмотра, используемое в самой поздней из установленных версий SAP Crystal Reports.

Если самой поздней из установленных версий SAP Crystal Reports является SAP Crystal Reports для Visual Studio 2005, введите путь к веб-службе отчетов, созданной в ходе рассматриваемой процедуры.

4. Перекомпилируйте проект и убедитесь в правильности загрузки отчетов.

Связанные сведения Каталог средств просмотра [стр. 14] 1.3.6.3.2.3 Добавление конфигурационной записи файлов сервера в файл web.config Процедура 1. В окне Solution Explorer откройте файл Web.Config.

2. Замените содержимое файла Web.Config приведенным ниже XML-кодом.

В приведенном ниже примере следует изменить значение корневого каталога на каталог, в котором сохранены отчеты. В этом примере используется путь C:\program files\Microsoft Visual Studio 8\Crystal Reports\Samples\en\Reports\Feature Examples.

Вместо строки PUT_FILE_DIRECTORY_PATH_TO_REPORTS_FOLDER_HERE необходимо ввести путь к папке отчетов.

3. Сохраните изменения в файле web.config.

4. Чтобы проверить, работает ли виртуальный каталог средства просмотра, откройте браузер и введите URL к опубликованной веб-службе отчетов.

http://localhost/CrystalReportsWebServices/ServerFileReportService.asmx?wsdl 1.3.6.3.2.4 Файлы сервера и виртуальный каталог средства просмотра для предыдущих версий В предыдущих версиях SAP Crystal Reports файлы сервера обслуживаются из IIS из централизованной веб-службы, расположенной в виртуальном каталоге средства просмотра. Каждая последующая версия SAP Crystal Reports создает дополнительный виртуальный каталог средства просмотра в IIS, позволяющий работать с несколькими версиями SAP Crystal Reports.

Дополнительный виртуальный каталог средства просмотра приводит к возникновению проблемы, если вы закодировали файлы сервера в проекте в предыдущей версии SAP Crystal Reports, а теперь обновляете версию. В коде имя виртуального каталога в свойстве WebServiceURL каждого экземпляра ServerFileReport необходимо заменить на текущее расположение веб-службы отчетов, чтобы экземпляры ServerFileReport работали.

Связанные сведения Каталог средств просмотра [стр. 14] 1.3.6.4 Подключение к веб-службам отчетов с безопасного веб-сайта В версии SAP Crystal Reports для разработчиков Microsoft Visual Studio отчеты Crystal можно опубликовать как веб-службы.

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

© 2014 SAP AG или аффилированная компания SAP. Все права Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide В данном разделе описано, как исключить анонимный доступ из виртуального каталога, содержащего вебслужбу, а затем написать код, помещающий веб-службу отчетов в класс RemoteReportProxy, для которого можно использовать аутентификацию NT на сервере IIS.

Код аутентификации требуется для двух типов веб-служб отчетов: обычных веб-служб отчетов и файлов сервера.

Связанные сведения Публикация и обслуживание отчета как веб-службы [стр. 84] Настройка файлов сервера в службах Crystal Services [стр. 87] 1.3.6.4.1 Веб-службы отчетов и аутентификация NT 1.3.6.4.1.1 Добавление аутентификации NT к веб-службе отчетов Прежде чем добавить изменения к аутентификации NT, необходимо собрать проект, который публикует и потребляет веб-службу отчетов, как указано в разделе Публикация и обслуживание отчета как веб-службы [стр. 84].

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

Связанные сведения Подключение к веб-службам отчетов с безопасного веб-сайта [стр. 94] 1.3.6.4.1.1.1 Удаление анонимного доступа из каталога, содержащего веб-службу отчета Процедура 1. На панели управления дважды щелкните элемент Администрирование, после чего дважды щелкните элемент Диспетчер интернет-служб.

2. В окне Информационные службы Интернета раскройте верхние узлы, затем раскройте узел Веб-узел по умолчанию.

3. Найдите папку виртуального каталога для Report Web Service, созданную ранее.

Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide 4. Щелкните виртуальный каталог правой кнопкой мыши и выберите пункт Свойства.

5. В диалоговом окне Свойства на вкладке Безопасность каталога нажмите кнопку Изменить.

6. Снимите флажок Анонимный доступ и нажмите кнопку ОК.

7. Нажмите кнопку ОК, чтобы закрыть окно Свойства.

8. Закройте окно Информационные службы Интернета.

Результаты Теперь, если необходимо установить аутентификацию в этом каталоге для конкретного сетевого пользователя, нужно добавить разрешения для отдельного пользователя сети к папке из Проводника Windows.

1.3.6.4.1.1.2 Добавление к папке разрешений для конкретного сетевого пользователя Процедура 1. В Проводнике Windows найдите папку, в которой находится веб-служба.

2. Щелкните папку правой кнопкой мыши и выберите пункт Свойства.

3. В диалоговом окне Свойства на вкладке Безопасность каталога нажмите кнопку "Добавить".

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

5. Нажмите кнопку Проверить имена.

6. Убедитесь, что имя пользователя было добавлено правильно, и нажмите кнопку ОК.

7. На панели Разрешения, выберите элемент Разрешить для разрешения Чтение.

1.3.6.4.1.2 Изменение клиентского приложения для добавления защищенного доступа В этом разделе объясняется, как изменить клиентское приложение для защищенного доступа к вебслужбе отчетов посредством аутентификации NT. Необходимо добавить сборки, пространства имен и новый код.

© 2014 SAP AG или аффилированная компания SAP. Все права Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide 1.3.6.4.1.2.1 Проверка отсутствия доступа к защищенной веб-службе для клиентского приложения Процедура 1. Заново откройте клиентское приложение, созданное для потребления веб-службы отчетов (из раздела Публикация и обслуживание отчета как веб-службы [стр. 84]).

2. Запустите приложение, чтобы проверить, что анонимный доступ к веб-службе отчетов в этом каталоге больше не разрешен.

Появится сообщение об ошибке: "Ошибка запроса со статусом HTTP 401: отказано в доступе".

сборки Процедура 1. Щелкните правой клавишей папку References и выберите команду Добавить ссылку.

2. В диалоговом окне Add Reference на вкладке ".NET", удерживая клавишу CTRL, щелкните следующие сборки:

CrystalDecisions.ReportSource System.Web.Services 3. Щелкните Select с правой стороны диалогового окна.

4. Проверьте, что обе сборки были добавлены на панель Selected Components, и щелкните элемент OK.

5. Откройте веб- или Windows-форму, созданную в разделе Настройка проекта [стр. 16].

6. В меню View выберите пункт Code.

7. Над подписью класса добавьте три объявления "Imports" [Visual Basic] или "using" [C#] в верхней части класса для следующих пространств имен.

Imports CrystalDecisions.ReportSource Imports System.Net Imports System.Web.Services using CrystalDecisions.ReportSource;

using System.Web.Services;

Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide Следующие шаги Далее вы на учитесь добавлять код для настройки класса RemoteReportProxy, который передает мандат пользователя в защищенный каталог веб-службы отчетов.

1.3.6.4.1.2.3 Написание кода для метода GetReportWebServiceWithAuthentication() Контекст Метод GetReportWebServiceWithAuthentication() используется для настройки удаленного прокси отчетов и для обработки аутентификации NT.

В этом разделе вы изучите, как задать в коде метода GetReportWebServiceWithAuthentication() значения свойств URL и Credentials. Необходимо добавить метод GetReportWebServiceWithAuthentication() в ReportSource элемента управления CrystalReportViewer для объявления и создания экземпляра класса RemoteReportProxy.

Данный метод по желанию добавляет параметры прокси брандмауэра к экземпляру RemoteReportProxy.

Процедура 1. Внизу класса создайте вспомогательный private-метод GetReportWebServiceWithAuthentication(), который возвращает интерфейс RemoteReportProxy.

Private Function GetReportWebServiceWithAuthentication() As RemoteReportProxy private RemoteReportProxy GetReportWebServiceWithAuthentication() 2. В методе ConfigureCrystalReports() выделите строку URL веб-службы, которая сейчас назначена свойству ReportSource элемента управления CrystalReportViewer. Вырежьте строку в буфер Позднее в этой процедуре вы зададите новое значение для свойства ReportSource элемента управления CrystalReportViewer.

3. Объявите строковую переменную reportWebServiceURL и вставьте строку URL.

Dim reportWebServiceURL As String = © 2014 SAP AG или аффилированная компания SAP. Все права Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide "http://mywebserviceserver.com/MyWebServiceDirectory/Hierarchical %20GroupingService.asmx" string reportWebServiceURL = "http://mywebserviceserver.com/MyWebServiceDirectory/Hierarchical %20GroupingService.asmx";

4. Объявите и задайте значение классу RemoteReportProxy.

Dim myRemoteReportProxy As RemoteReportProxy = New RemoteReportProxy() RemoteReportProxy remoteReportProxy = new RemoteReportProxy();



Pages:     | 1 || 3 | 4 |   ...   | 17 |


Похожие работы:

«Мониторинг безопасности лекарственных препаратов Руководство по организации и функционированию центров по фармаконадзору Содержание Введение 5 1. Для чего нужен фармаконадзор? 7 2. Определение и цели 8 3. Как организовать центр по фармаконадзору 8 3.1 Основные этапы организации центра по 9 фармаконадзору 4. Сообщение о случаях развития побочных реакций 9 лекарственных средств. 4.1 Форма сообщения. 9 4.2 От кого поступают сообщения? 10 4.3 О чем сообщать? 4.4 Обязательное или добровольное...»

«Проект постановления Об утверждении административного регламента предоставления муниципальной услуги Дача согласия на заключение трудового договора с несовершеннолетними в случаях, предусмотренных действующим законодательством (город Омск) В соответствии с Федеральным законом Об организации предоставления государственных и муниципальных услуг, руководствуясь Федеральным законом Об общих принципах организации местного самоуправления в Российской Федерации, Уставом города Омска, постановляю: 1....»

«Федеральное агентство по образованию Российской Федерации Государственное образовательное учреждение высшего профессионального образования РФ Уфимский государственный авиационный технический университет Факультет защиты в чрезвычайных ситуациях Кафедра безопасности производства и промышленной экологии ВТОРОЙ ВСЕРОССИЙСКИЙ КОНКУРС ИННОВАЦИОННЫХ ПРОЕКТОВ СТУДЕНТОВ, АСПИРАНТОВ И МОЛОДЫХ УЧЕНЫХ ОБЕСПЕЧЕНИЕ ПРОМЫШЛЕННОЙ И ЭКОЛОГИЧЕСКОЙ БЕЗОПАСНОСТИ НА ВЗРЫВОПОЖАРООПАСНЫХ И ХИМИЧЕСКИ ОПАСНЫХ...»

«РОССИЙСКАЯ АКАДЕМИЯ НАУК НАУЧНЫЙ СОВЕТ ПО КОМПЛЕКСНОЙ ПРОБЛЕМЕ ИСТОРИЯ МИРОВОЙ КУЛЬТУРЫ ГО РО Д как социокультурное явление исторического процесса 6 МОСКВА НАУКА 1995 ББК 60.55 Г70 Издание осуществлено при финансовой поддержке фонда фундаментальных исследований Р осси йского согласно проекту № 94-06-19945 Редакционная коллегия: В.Л. ГЛАЗЫЧЕВ, Г.А. ГОЛЬЦ, С.П. КАРПОВ, Т.Б. КНЯЗЕВСКАЯ, Э.В. САЙКО, А.Л. ЯСГРЕБИЦКАЯ Ответственный редактор доктор исторических наук Э.В. САЙКО Рецензенты: доктор...»

«УТВЕРЖДАЮ МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ Учреждения высшего образования Первый заместитель Министра образования Квалификация специалиста ТИПОВОЙ УЧЕБНЫЙ ПЛАН Республики Беларусь Медицинский физик А.И.Жук Специальность 1-31 04 05 Медицинская физика _ 2013 г. Срок обучения 5 лет Регистрационный № I. График образовательного процесса1 II. Сводные данные по бюджету времени (в неделях) февраль сентябрь октябрь ноябрь декабрь январь март апрель май июнь июль август Экзаменационные...»

«Ароморфозы 2 SITT/ТУРСИБ 2013: Удачный деБюТ Команда студентов Института естественных и социально-экономических наук НГПУ приняла участие в Межрегиональной олимпиаде по туризму и стала лучшей в дисциплине Страноведение. Конкурс прошел в выставочном комплексе Новосибирск-Экспоцентр в рамках 23-й Международной выставки Путешествие и туризм. В соревновании приняли участие университеты Сибирского Федерального округа, которые ведут подготовку специалистов по сервису и туризму – НГТУ, НГПУ, СГУПС,...»

«Схема водоснабжения и водоотведения городского поселения Лесной Московской области на 2013-2027 годы ООО МосСпецПроект 1 Содержание ВВЕДЕНИЕ 1. ПАСПОРТ СХЕМЫ.. 2. ОБЩИЕ СВЕДЕНИЯ О ГОРОДСКОМ ПОСЕЛЕНИИ ЛЕСНОЙ МОСКОВСКОЙ ОБЛАСТИ. 3. СУЩЕСТВУЮЩЕЕ ПОЛОЖЕНИЕ В СФЕРЕ ВОДОСНАБЖЕНИЯ 3.1. Анализ структуры системы водоснабжения. 3.2. Анализ существующих проблем 3.3. Обоснование объемов производственных мощностей. 3.4.Перспективное потребление коммунальных ресурсов в системе водоснабжения.. 3.5....»

«ПРАВИТЕЛЬСТВО АМУРСКОЙ ОБЛАСТИ МИНИСТЕРСТВО ЭКОНОМИЧЕСКОГО РАЗВИТИЯ ОБЛАСТИ ПЕРЕЧЕНЬ инвестиционных проектов и предложений Амурской области Почтовый адрес: г. Благовещенск, 675023, ул. им. Ленина, 135 Министерство экономического развития области: тел. (4162) 232-100, 232-141, факс (4162) 232-140 e-mail: [email protected] www.mer.amurobl.ru ОГЛАВЛЕНИЕ Стр. I. Реализуемые инвестиционные проекты 1. Крупномасштабные инвестиционные проекты Добыча полезных ископаемых 1. Энергетика 2....»

«ВЕНТИЛЯЦИЯ КОНДИЦИОНИРОВАНИЕ ОТОПЛЕНИЕ (495) 789-39-89 WWW.PROF-VK.RU СОДЕРЖАНИЕ О КОМПАНИИ. ПОЧЕМУ НАС РЕКОМЕНДУЮТ 2 НАПРАВЛЕНИЯ ДЕЯТЕЛЬНОСТИ 3 ПРОФИЛЬ ДЕЯТЕЛЬНОСТИ/ УСЛУГИ ПРОЕКТИРОВАНИЕ 4 ПОСТАВКА ОБОРУДОВАНИЯ 5 МОНТАЖ И ПУСКОНАЛАДОЧНЫЕ РАБОТЫ 6 СЕРВИСНОЕ ОБСЛУЖИВАНИЕ 7 ТЕХНИЧЕСКИЕ РЕШЕНИЯ ДЛЯ РАЗЛИЧНЫХ ОБЪЕКТОВ ПРОМЫШЛЕННЫЕ ОБЪЕКТЫ И ОБЪЕКТЫ...»

«1. Цели освоения дисциплины Цель изучения дисциплины Организация коммерческой деятельности заключается в овладении студентами знаниями по организации коммерческой деятельности. 2. Место дисциплины в структуре ООП ВПО В соответствии с учебным планом по направлению 100700.62 Торговое дело дисциплина Организация коммерческой деятельности относится к вариативной (профильной) части профессионального цикла. Для качественного усвоения дисциплины студент должен: - знать: основные экономические законы,...»

«ООО Шелл НефтеГаз Девелопмент (II) ДОПОЛНЕНИЕ к Проекту на проведение сейсморазведочных работ 2Д на СевероВоркутинском-1 лицензионном участке ОЦЕНКА ВОЗДЕЙСТВИЯ НА ОКРУЖАЮЩУЮ СРЕДУ Москва 2014 СОГЛАСОВАНО УТВЕРЖДАЮ: Генеральный директор Генеральный директор ООО Шелл Нефтегаз ООО “ФРЭКОМ” Девелопмент(II) Т.Г. Каргиева В.В.Минасян _ 2014 г. “ ” 2014 г. ТОМ 1 ОЦЕНКА ВОЗДЕЙСТВИЯ НА ОКРУЖАЮЩУЮ СРЕДУ ТЕКСТ ОТЧЕТА Редакция Подготовлено по заказу: ООО Шелл Нефтегаз Девелопмент (II) ООО ФРЭКОМ 2014 г....»

«Ф О Н Д О Б Щ Е С Т В Е Н Н Ы Й В Е РД И К Т Рабочие тетради реформе следствия в России Аналитика, дискуссии, официальные заявления Том 2 период 2012–2013 echr_2-verstka.indd 1 30.11.2013 12:06:14 Ф О Н Д О Б Щ Е С Т В Е Н Н Ы Й В Е РД И К Т Рабочие тетради реформе следствия в России Аналитика, дискуссии, официальные заявления Том 2 период 2012– echr_2-verstka.indd 1 30.11.2013 12:06: Рабочая тетрадь была подготовлена в рамках проекта Исполнение постановлений Европейского Суда по правам...»

«СЕКЦИЯ АВТОМАТЫ Д.В.Глебко (6 курс, каф. Автоматы), А.В.Борисевич, к.т.н., доц. АВИАТРЕНАЖЕР НА ОСНОВЕ ШЕСТИСТЕПЕННОЙ ПЛАТФОРМЫ С ЭЛЕКТРИЧЕСКИМИ ПРИВОДАМИ В настоящее время в авиации широко используются авиасимуляторы способные достоверно имитировать процесс полета. Такие тренажеры обычно состоят из системы воспроизводящей изображение (вид из кабины самолета) и платформы способной имитировать ускорения, возникающие в полете. Система визуализации для самолета управляемого двумя пилотами должна...»

«УТВЕРЖДАЮ Генеральный директор ООО РОНД С.В. Синицын 07 октября 2011 года (с изменениями от 11.10.2011, 29.02.2012, 29.03.2012, 31.03.2012, 30.06.2012, 20.09.2012, 30.09.2012, 31.12.2012, 29.03.2013, 10.06.2013) ПРОЕКТНАЯ ДЕКЛАРАЦИЯ ПО СТРОИТЕЛЬСТВУ ЖИЛОГО КОМПЛЕКСА С ОБЪЕКТАМИ СОЦИАЛЬНОЙ И ИНЖЕНЕРНОЙ ИНФРАСТРУКТУРЫ по адресу: Московская область, Одинцовский район, городское поселение Одинцово, с. Ромашково Информация о застройщике Фирменное наименование застройщика: Общество с ограниченной...»

«Межгосударственная координационная водохозяйственная комиссия Научно-информационный центр МКВК Ю.Х. Рысбеков ТРАНСГРАНИЧНОЕ СОТРУДНИЧЕСТВО НА МЕЖДУНАРОДНЫХ РЕКАХ: ПРОБЛЕМЫ, ОПЫТ, УРОКИ, ПРОГНОЗЫ ЭКСПЕРТОВ Научный редактор – д-р техн. наук, профессор В.А. Духовный Ташкент 2009 2 УДК 556 ББК 26.222.5 Р 95 Рецензент: д-р техн. наук, профессор Н.К. Носиров Рысбеков Ю.Х. Трансграничное сотрудничество на международных реках: проблемы, опыт, уроки, прогнозы экспертов // Под ред. В.А. Духовного. -...»

«НАЦИОНАЛЬНОЕ ОБЪЕДИНЕНИЕ СТРОИТЕЛЕЙ Стандарт организации Освоение подземного пространства ПРОКЛАДКА ПОДзЕМНЫХ ИНЖЕНЕРНЫХ КОММУНИКАЦИЙ МЕТОДОМ ГОРИзОНТАЛЬНОГО НАПРАВЛЕННОГО БУРЕНИЯ СТО НОСТРОЙ 2.27.17-2011 т нд рт екоммерческого п ртнерств морегулируем я орг низ ция оюз строителей мч тки 013 2.27.17 – 2013 ИзДАНИЕ ОфИЦИАЛЬНОЕ Москва 2012 НАЦИОНАЛЬНОЕ ОБЪЕДИНЕНИЕ СТРОИТЕЛЕЙ Стандарт организации Освоение подземного пространства ПРОКЛАДКА ПОДЗЕМНЫХ ИНЖЕНЕРНЫХ КОММУНИКАЦИЙ МЕТОДОМ ГОРИЗОНТАЛЬНОГО...»

«Информация о работе областного методического   объединения Геодезия и землеустройство 23 мая 2014 года на базе ГБОУ СПО РО автодорожный колледж Ростовский-на-Дону состоялось первое организационное заседание областного методического объединения Геодезия и землеустройство, образованного решением Президиума Совета директоров учреждений профессионального образования Ростовской области. Образование нового методического объединения отвечает целям и задачам повышения качества профессионального...»

«O. A. „Refugiul Casa Mrioarei” ПРАКТИЧЕСКИЕ И ЗАКОНОДАТЕЛЬНЫЕ РЕШЕНИЯ ДЛЯ ЖЕРТВ НАСИЛИЯ В СЕМЬЕ Автор: Надежда Макарь, Адвокат, общественная ассоциация „Refugiul Casa Mrioarei” ЗНАЙ СВОИ ПРАВА! Февраль, 2009 ПРЕДИСЛОВИЕ Перед вами второе издание брошюры, измененной в соответствии с первым законом Республики Молдова о предупреждении и пресечении насилия в семье. Принятый 1 марта 2007 года и вступивший в силу 18 сентября 2008, это первый закон, регламентирующий нормативные рамки по защите жертв...»

«СП 50-101-2004. ПРОЕКТИРОВАНИЕ И УСТРОЙСТВО ОСНОВАНИЙ И ФУНДАМЕНТОВ ЗДАНИЙ И СООРУЖЕНИЙ (одобрен Постановлением Госстроя РФ от 09.03.2004 N 28) Одобрен Постановлением Госстроя РФ от 9 марта 2004 г. N 28 СИСТЕМА НОРМАТИВНЫХ ДОКУМЕНТОВ В СТРОИТЕЛЬСТВЕ СВОД ПРАВИЛ ПО ПРОЕКТИРОВАНИЮ И СТРОИТЕЛЬСТВУ ПРОЕКТИРОВАНИЕ И УСТРОЙСТВО ОСНОВАНИЙ И ФУНДАМЕНТОВ ЗДАНИЙ И СООРУЖЕНИЙ Design and construction of soil bases and foundations for buildings and structures СП 50-101- 1. Разработан...»

«Андрей Алексеев Борис Докторов В ПОИСКАХ АДРЕСАТА Санкт-Петербург – Foster City 2012 (Ред. от 18.02.2011 – 6.02.2012) А. Алексеев Б. Докторов В поисках Адресата ПЕРЕПИСКА ДВОИХ С ПОСТЕПЕННЫМ РАСШИРЕНИЕМ КРУГА ТЕМ И УЧАСТНИКОВ (февраль – октябрь 2006 г. ) Посвящается Алле Родионовой – молчаливому и заинтересованному со-участнику и почтальону этой переписки. Содержание Вместо предисловия (1) А. Алексеев. От составителя - сегодня (2) А. Алексеев – Б. Докторову (3) Апология письма (из переписки с...»






 
2014 www.av.disus.ru - «Бесплатная электронная библиотека - Авторефераты, Диссертации, Монографии, Программы»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.