Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Колоквіум2.docx
Скачиваний:
46
Добавлен:
09.09.2019
Размер:
61.28 Кб
Скачать
  1. Дати визначення КЕК.

Пользовательский элемент управления (ПЭУ) - это Web-страница, которую можно разместить в качестве элемента управления на другой Web-странице. Возможности - такие же, как и встроенных элементах управления: пользовательский интерфейс и другая функциональность. После создания ПЭУ его можно использовать на любой странице вашего Web-приложения.

  1. Назвати відмінності та подібності КЕК від звичайних елементів керування.

У ПЭУ в ASP.NET - всегда расширение .ASСX. Они очень похожим на обычные Web-страницы (Web-формы): в них есть код HTML, который можно редактировать, и программный код на страницах codebehind. Они точно также компилируются при первом обращении к ним. Главное отличие - к страницам ПЭУ нельзя обращаться из броузера напрямую (это просто запрещено в ASP.NET по соображениям безопасности) - только через обычные страницы, на которых они размещены. В ПЭУ нет тегов <HEAD>, <BODY> и <FORM>. Событийные процедуры (в том числе Page_Load) работают для них как обычно.

  1. Описати дії для розміщення КЕК на сторінці.

Чтобы разместить ПЭУ на хост-странице, его вначале нужно зарегистрировать на этой странице при помощи директивы @Register. После регистрации ПЭУ можно добавлять на Web-страницу как обычные элементы управления.

  1. Записати дії для створення КЕК з нуля.

В контекстном меню для проекта выбрать Add -> Add Web User Control и определить имя для ПЭУ. Затем - добавляем, как на обычную страницу элементы управления и определяем для них событийные процедуры. А затем нужно создать свойства, которые будут использоваться для взаимодействия с Web-страницей.

  1. Записати дії для створення КЕК з існуючої Web-сторінки.

1) убрать из нее теги <HTML>, <BODY> и <FORM>.

2) Заменить директиву @Page на @Control. Проверить, что нет атрибутов, которые не поддерживаются в @Control.

3) добавить атрибут ClassName в директиву @Control (этот атрибут позволит обращаться к ПЭУ из хост-странице как к объекту класса с именем, указанным в этом атрибуте).

4) переименовать страницу, поменяв расширение *.aspx на *.ascx.

  1. Записати дії для встановлення властивостей КЕК.

Вначале нужно объявить переменную для этого ПЭУ на хост-странице:

Protected num1 As numberbox

numberbox должно соответствовать типу ПЭУ, а имя переменной (num1) - должно быть точно таким же, как его ID в теге помещения элемента на страницу.

Далее можно получать значения свойств или их присваивать.

  1. Записати етапи роботи через ADO.NET.

1) клиент запрашивает данные

2) создаются объекты Connection и DataAdapter, происходит установка соединения;

3) объект DataSet заполняется данными через DataAdapter и соединение с источником данных разрывается;

4) объект DataSet предоставляется клиенту. Клиент просматривает полученные данные и вносит в них изменения;

5) для сохранения изменений на источнике данных объект DataAdapter опять обращается к объекту Connection, затем открывается соединение с источником и на источник вносятся изменения

  1. Записати простори імен, які імпортуються при використанні ADO.NET.

Обычно при использовании ADO.NET необходимо импортировать пространство имен System.Data. В зависимости от того, подключение к какому источнику данных вы планируете использовать, возможно, есть смысл импортировать также пространство имен System.Data.SqlClient или System.Data.Oledb

  1. Записати об’єкти, які включає DataProvider.

· Connection - подключение к источнику;

· Command - выполнение команд на источнике;

· DataReader - обеспечивает поток данных с источника;

· DataAdapter - обеспечивает связь между DataSet и provider, а также ответственен за применение изменений, которые вносятся в DataSet, на источник.

  1. Записати відмінність DataSet від DataReader.

· к данным через DataReader можно обращаться только на чтение;

· DataSet может обращаться к нескольким таблицам на источнике. DataReader - это всегда данные, которые возвращаются единственной командой, выполняемой на источнике;

· DataSet работает в рассоединенном режиме, DataReader - только в соединенном;

· DataSet можно привязать к нескольким элементам управления на Web-форме, DataReader - только к одному;

· DataReader работает быстрее, но данные передаются только в одном направлении;

· графического интерфейса для работы с DataReader в VS.NET не предусмотрено.

  1. ( ) Дати визначення проміжному елементу на формі, його призначення.

DataSet можно привязывать к элементу управления на форме напрямую, а можно использовать промежуточный объект DataView. DataView (как и View в базе данных) - это настраиваемое представление данных из DataSet. После создания DataView его можно использовать для сортировки данных, фильтрации, поиска, редактирования и навигации.

  1. Записати випадки використання DataReader.

Он особенно удобен, когда:

- нужно выполнить максимально быстро элементарный запрос к источнику;

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

  1. Записати дії при зверненні до даних через DataReader.

Чтобы реально обратиться к данным через DataReader, можно воспользоваться методом Read в цикле. Этот метод после окончания записей в DataReader вернет null - на это значение и назначаем проверку в цикле. Ссам забор данных производится просто обращением к полю по его имени или ординалу, а также можно использовать соответствующий метод Get (GetString, GetDateTime, GetInt32 и т.п.)

Метод Get с указанием типа данных работает быстрее, поскольку ADO.NET нет необходимости разбираться с типами данных.

Закрывать соединение вручную после окончания работы с DataReader - обязательно, поскольку иначе оно так и останется висеть.

  1. Записати відмінність DataReader від DataAdapter.

Принципиальное отличие DataReader заключается в том, что в отличие от работы с DataAdapter, где соединение открывается и закрывается автоматически, при работе с DataReader открывать и закрывать соединения вам придется вручную.

  1. Записати послідовність роботи з DataReader.

1) открывается соединение с источником

2) создается объект Command

3) из объекта Command создается объект DataReader

4) вызывается метод ExecuteReader

5) объект DataReader используется в программе

6) объект DataReader закрывается

7) разрывается соединение с источником

  1. Записати помилки при роботі з ADO.NET.

· невозможно установить соединение (отсутствует сеть, отключен сервер и т.п.) Обработчик ошибок нужно, конечно, ставить на открытие соединения. Код, который обрабатывает наиболее распространенные ошибки при открытии соединения, может выглядеть так: · невозможно выполнить команду на сервере (или при выполнении возникли какие-то проблемы). Самые распространенные причины - неверный синтаксис, неправильно указано имя объекта и т.п.

  1. Записати для чого використовується об’єкт DataRelation, описати його роботу.

В DataSet предусмотрен и такой объект, как DataRelation - отношения между таблицами. При создании DataRelation необходимо определить parent table (то есть таблицу с primary key) и child (то есть с foreign). Конечно же, у этих таблиц должен быть общий столбец и его нужно указать. Конечно, главное, ради чего создаются объекты DataRelation - навигация через отношения между таблицами. Для этой цели используются методы GetChildRows и GetParentRow.

  1. Пояснити використання конструкції Try…Catch…Finally .

При работе с DataReader всегда рекомендуется использовать конструкцию Try...Catch...Finally, чтобы гарантировать, что даже в случае сбоя соединение будет разорвано (иначе может получиться так, что соединение будет висеть до бесконечности).

  1. Записати об’єкти, які використовує DataAdapter для роботи з джерелом даних.

· объект Connection - для подключения к источнику;

· объекты Command - для выполнения различных действий с данными. Доступ к ним производится через одноименные свойства:

  • SelectCommand - для команды SELECT, которая будет передаваться на источник данных;

  • UpdateCommand, InsertCommand, DeleteCommand - аналогично.

  1. Описати елементи керування для роботи з даними.

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

    • DataList — элемент управления, которые предоставляет те же функциональные возможности по работе с данными, что и GridView.

    • DetailsView и FormsView — элементы управления-близнецы. Оба этих элемента управления предоставляют полные возможности для работы с данными (вставка новых записей, редактирование и удаление существующих). Оба этих элемента управления показывают по одной записи на Web-странице. Отличительной особенностью FormsView является то, что в этом элементе управления предусмотрены дополнительные шаблоны для отображения данных;

    • Repeater — элемент управления, предназначенный для создания ленточных отчетов. Он достаточно сложен в настройке по причине того, что код для шаблонов необходимо создавать вручную в коде HTML (на вкладке Source). Средств изменения записей в этом элементе управления не предусмотрено;

    • ReportViewer — средство для отображения на Web-странице отчетов Reporting Services (компонента SQL Server).

  1. Описати роботу елемента керування GridView.

Проще всего настроить этот элемент управления при помощи встроенного мастера. При использовании мастера необходимо:

  1. выбрать тип источника данных (например, SqlDataSource или XmlDataSource);

  2. в свойствах источника данных (элемента управления DataSource) настроить параметры подключения к базе данных);

  3. сгенерировать или ввести код команд SELECT, INSERT, UPDATE и DELETE. При этом необязательно заполнять данные для всех команд. Просмотреть сгенерированные команды и изменить их можно в режиме просмотра кода HTML для страницы.

  4. настроить дополнительные параметры объекта GridView, например, разрешить разбиение на страницы, фильтрацию, сортировку, выбрать оформление и т.п.

  1. Описати роботу елемента керування DataList.

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

  1. После перетаскивания его на форму необходимо настроить для него источник данных .

  2. Убедиться, что для свойства DataKeyField для данного элемента управления выбран первичный ключ таблицы (или результатов запроса) на источнике данных.

  3. Далее нужно перейти в режим редактирования шаблонов для записей. Для этого проще всего щелкнуть правой кнопкой мыши о элементу управления DataList и в контекстном меню выбрать Edit Templates | Item templates, хотя можно перейти в тот же режим и при помощи мастера.

  4. Затем нужно заполнить требуемыми элементами управления (и просто кодом HTML) каждый из шаблонов. Для каждого поля, информацию о котором нужно предоставлять пользователям, необходимо создать свой элемент управления.

  5. Для того, чтобы обеспечить возможность перехода в режим Select и Edit, а также производить удаление, необходимо предусмотреть в шаблонах ItemTemplate и AlternatingItemTemplate соответствующие кнопки. Для этих кнопок должны быть установлены значения свойства CommandName в зависимости от их предназначения (регистр должен быть соблюден точно):

    • select — кнопка для перехода в режим просмотра выбранной записи (используется шаблон SelectedItemTemplate);

    • unselect — кнопка для отмены выделения (не будет выделена ни одна запись);

    • edit — кнопка для перехода в режим редактирования записей (используется шаблон EditItemTemplate);

    • delete — кнопка для удаления выбранной записи.

  1. Следующее действие, которое нужно сделать — предусмотреть обработчики событий, которые будут срабатывать при нажатии соответствующей кнопки.

  1. Описати роботу елементів керування Details View та Form View.

Элемент управления DetailsView — самое простое средство для создания формы для работы с источником данных средствами ASP.NET. Это средство показывает единовременно только одну запись на странице. Зато оно позволяет выполнять полный набор операций по работе с данными — просмотр, внесение изменений, удаление, создание новых записей и очень просто в настройке.

Фактически, чтобы обеспечить пользователя возможностью внесения изменений в базу данных, достаточно при помощи встроенного мастера добавить источник данных со всеми необходимыми командами (команды INSERT, UPDATE и DELETE при необходимости можно сгенерировать автоматически), а затем установить в том же мастере флажки Enable Paging (включить показ номеров записей в нижней части формы), Enable Inserting, Enable Editing, Enable Deleting.

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

Элемент управления FormsView — брат-близнец элемента управления DetailsView. Он обеспечивает практически те же функциональные возможности при работе с данными и настраивается практически так же (см. рис. 9.4-2). Главное его отличие — что в нем предусмотрены возможности работы с шаблонами ItemTemplate, EditTemplate, InsertTemplate, что позволяет как угодно настроить интерфейс для отображения, редактирования и добавления данных (интерфейс по умолчанию генерируется автоматически).

  1. Описати роботу елемента керування Repeater.

Элемент управления Repeater — это фактически средство для создания ленточных отчетов произвольной формы. Это средство выводит соответствующий шаблон (ItemTemplate или AlternatingItemTemplate) для каждой записи на странице. Кроме того, для него предусмотрены шаблоны верхнего колонтитула для страницы (HeaderTemplate) и нижнего колонтитула (FooterTemplate).

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

  1. Записати типи збережених процедур.

- возвращающие данные в табличном представлении (похожи на параметризованные запросы)

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

- выполняющие какие-либо действия (каскадное обновление)

  1. Записати можливості, які забезпечуються використанням збережених процедур.

Чем хороши хранимые процедуры:

- обеспечивают модульность программирования

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

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

- сокращение сетевого трафика - достаточно передать только имя хранимой процедуры и параметры;

- защита от изменений в структуре БД

  1. ( ) Записати дії, для виклику збережених процедур.

На графическом экране достаточно из списка SQL серверов выбрать нужный сервер и перетащить из-под его контейнера хранимую процедуру на форму. На ней автоматически будут созданы объекты Connection и Command.

Дальше, например, можно воспользоваться методом ExecuteReader объекта Command, чтобы получить стандартный объект DataReader на основе возвращаемых данных, или создавать DataSet через DataAdapter.

Чаще всего нам нужно передавать хранимой процедуре значения параметров и принимать возвращаемые значения. Для этого используется коллекция Parameters объекта Command. Для каждого объекта Parameter предусмотрено значение свойства (.Value) и направления (.Direction).

При этом при работе с SQL Server важны только имена объектов SqlParameter (порядок не важен), а при работе с источниками данных OLE DB важен порядок.

  1. Дати визначення XML.

XML - набор правил, используемых для создания своих языков разметки. XML – это формализованный набор правил для «разметки» документа – то есть выделения его логической структуры.

  1. Записати типи інформації розмітки.

В XML существует шесть типов информации разметки: элементы, атрибуты, комментарии, инструкции обработки, ссылки на сущности и разделы CDATA.

      • Элементы (elements) – это наиболее распространенный тип информации о разметке. Элемент выделяет логическую составную часть документа. Обычный документ состоит из открывающих и закрывающих тегов, которые могут окружать содержимое, другой элемент, или и то, и другое вместе. Теги с названиями элемента заключаются в угловые скобки.

      • Атрибуты (attributes) состоят из пары имя атрибута/значение атрибута и применяются к элементам. Атрибуты положено помещать после имени элемента в открывающем теге.

      • Комментарии (comments) – это любой текст, который будет игнорироваться процессором XML.

      • Инструкции обработки (processing instructions) используются для передачи информации приложению, обрабатывающему документ XML.

      • Ссылки на сущности (entity references) используются для того, чтобы помещать в документ зарезервированные символы или зарезервированные слова. К примеру, нам надо вставить в документ левую угловую скобку (<), которая является зарезервированным символом XML.

      • Раздел CDATA (CDATA section) – это часть текста, которая не обрабатывается, как остальные части документа XML, а передаваться приложению напрямую.

  1. Записати синтаксичні принципи XML.

    • Документы XML состоят из символов Unicode (Unicode – это 16-битный набор символов, который позволяет отображать документы на любых языках).

    • XML чувствителен к регистру. Теги <HTML> и <html> в нем – это разные теги.

    • Пустое пространство (whitespace) – это невидимые символы, такие, как пробел (ASCII 32), символ табуляции (ASCII 9), символы возврата каретки (ASCII 13) и символы перевода строки (ASCII 10). Пустое пространство игнорируется внутри тегов, но сохраняется в символьных данных.

    • Многие компоненты XML должны иметь имена. Правила именования XML выглядят следующим образом: имя XML должно начинаться с буквы или подчеркивания, за которым следует любое количество букв, цифр, дефисов, подчеркиваний или точек.

    • Имя компонента XML не может начинаться с символов xml (как в верхнем, так и в нижнем регистре). Такие имена зарезервированы создателями спецификации для служебных целей.

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

    • В XML должен строго соблюдаться порядок вложенности тегов.

    • Любому открывающему тегу в XML должен соответствовать закрывающий тег.

    • Пустой тег в XML записывается как открывающий тег, перед правой угловой скобкой в котором стоит прямой слеш (/).

    • В документе XML может быть только один корневой элемент.

  1. Записати додаткові моменти, які пов’язані з перевагами xml.

  • Независимый формат данных - данные в формате XML можно открывать в любом XML-совместимом (точнее, совместимым с конкретной схемой) приложении. Пример: на любом предприятии документы хранятся в самых разных форматах - форматах разных версий Word, текстовых, HTML, PDF и т.п. Проблем из-за этого возникает очень много, радикально решаются при помощи XML.

  • Общий принцип - один источник данных (документ XML), много представлений. Наглядно можно продемонстрировать на примере Web-сайта, к которому нужно обращаться из разных броузеров и через WAP.

  • Гораздо более простая передача данных "сквозь" приложения. Примеры - прохождение документов через цепочку поставщиков, или прохождение данных между разнородными программными продуктами на одном предприятии (что необходимо очень часто).

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

  • Более простая разработка приложений - нет необходимости реализовывать в приложениях поддержку большого количества разных двоичных форматов данных.

  • Данные в текстовом формате (стандарт XML - Unicode) проще, чем двоичные, хранить на различных платформах и безопаснее (с точки зрения отсутствия вредоносного двоичного кода) передавать в сетях. Целое направление в разработке приложений - XML Web-службы.

  1. Дати визначення Well-formed XML, XQuery.

Well-formed XML - такой код XML, который соответствует требованиям синтаксиса этого языка (например, каждому открывающему тегу соответствует закрывающий тег). Valid XML - корректный с точки зрения логической структуры этого языка (например, элементы правильно вложены друг в друга), определенной в DTD или XML Schema.

XQuery - это специализированный язык запросов к информации, которая хранится в документах XML. Работа XQuery во многом основана на XPath.

  1. Записати типи документів в XSLT.

  • документ-источник (source document). Этот документ XML "подается на вход" для преобразования. В нашем случае этот может быть такой документ:

  • документ таблицы стилей XSLT (XSLT style sheet document) - XML-совместимый документ, в котором описываются правила проведения трансформаций. В нашем случае пример этого документа может быть таким:

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

  1. Дати визначення XPath, DOM.

XPath - специальный язык, который можно использовать для навигации по дереву элементов XML. При использовании объектной модели XPath документ XML представляется в виде дерева узлов. Информация содержится в свойствах этих узлов.

DOM (Document Object Model) - представление дерева документа XML в оперативной памяти. DOM позволяет выполнять навигацию по документу XML и редактировать его. Стандартные свойства, методы и события DOM определены в документе, принятом W3C. В ASP.NET при помощи DOM можно создать документ XML и отправить его в броузер пользователю. Другой вариант - клиентский скрипт создает при помощи DOM документ XML на клиенте и передает его на Web-сервер.

  1. Записати можливості використання XML при роботі з DataSet.

    • DataSet могут сериализовать данные в формате XML. Схема DataSet (включая таблицы, столбцы, типы данных и ограничения) определяется при этом в XML Schema (файл .xsd).

    • обмен данными из DataSet с удаленными клиентами предписывается производить в формате XML;

    • XML можно использовать для синхронизации и преобразования данных в DataSet.

Еще немного про взаимодействие XML и DataSet:

    • можно не только создавать XML Schema на основе DataSet (о чем говорилось выше, это делается при помощи метода WriteXmlSchema), но и наоборот - генерировать DataSet на основе информации их XML Schema (для этого - метод ReadXmlSchema). Есть возможность сгенерировать DataSet даже без схемы - просто на основе документа XML. Для этой цели предназначен метод InferXmlSchema.

    • для объекта DataSet предусмотрен метод ReadXML, который позволяет считать текстовый документ XML (поток текстовых данных XML) в DataSet. Другой метод, WriteXML, позволяет сохранять содержимое DataSet в XML-совместимом формате. Такая возможность позволяет очень просто организовывать обмен данными между различными приложениями и платформами.

    • вы можете создать представление XML (объект XmlDataDocument) на основе информации из DataSet. Получается, что с информацией в DataSet можно работать двумя способами: обычными реляционными (с самим DataSet) и XML-методами. Оба представления автоматически синхронизируются (при внесении изменений через любое представление).

    • вы можете применять преобразования XSLT к данным, которые хранятся в DataSet.

  1. Дати визначення об’єкту XmlDataDocument , записати дії при роботі з ним.

XmlDataDocument - это XML-представление данных в DataSet в оперативной памяти. XmlDataDocument неразрывно связан с DataSet. Любые изменения, внесенные в XmlDataDocument, немедленно отражаются в DataSet и наоборот.

В XmlDataDocument можно положить документ XML напрямую, а можно создать его на основе DataSet. А можно вначале создать DataSet, заполнить его данными, а затем на основе его создать XmlDataDocument. После того, как объект XmlDataDocument создан, с ним можно выполнять различные действия:

  • привязывать к DataGrid и другим элементам управления:

  • получать нужную строку (она возвращается в виде объекта XmlElement):

  • использовать полный набор свойств и методов DOM. Эти свойства и методы XmlDataDocument наследует от объекта XmlDocument

  • применять преобразования XSLT (для этой цели используются объекты XslTransform).

  1. Записати дії при роботі з класом XslTransform.

  • для проведения преобразований вначале нужно создать DataSet и соответствующий ему XmlDataDocument.

    • следующее действие - создаем объект XslTransform.

    • используем метод Load этого объекта, чтобы загрузить в него преобразование.

    • создаем объект XmlTextWriter (он будет использован для вывода результатов преобразования):

    • выполняем само преобразование при помощи метода Transform объекта XslTransform. У этого метода - несколько вариантов.

    • закрываем объект Writer.

  1. Записати випадки використання Web-служб.

    • запросы аутентификации (пример такой открытой в Интернете Web-службы - Microsoft Passport);

    • службы, которые предоставляют информацию о прогнозах погоды для Web-сайтов;

    • информация по курсам валют;

    • информация о ценах на билеты (например, авиа);

    • цены на акции;

    • бронирование мест в гостиницах;

    • отслеживание прохождения заказа;

    • передача заголовков новостей

  1. ( ) Записати властивості Web-служб.

Application

Получает объект приложения для текущего HTTP-запроса.

Container

Возвращает контейнер для компонента.

Context

Получает объект ASP.NET HttpContext для текущего запроса, где инкапсулируется весь HTTP-контекст, используемый HTTP-сервером для обработки веб-запросов.

DesignMode

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

Events

Возвращает список обработчиков событий, которые прикреплены к этому компоненту.

Server

Получает HttpServerUtility для текущего запроса.

Session

Получает экземпляр HttpSessionState для текущего запроса.

Site

Получает или задает узел компонента.

SoapVersion

Получает версию протокола SOAP, используемого для запроса SOAP к веб-службе XML.

User

Получает объект сервера ASP.NET User. Может использоваться для проверки прав пользователя на выполнение запроса.