ASP.NET

Ключевые настройки конфигурации при развертывании веб-приложения

Информация о настройках конфигурации для приложения ASP.NET хранится в одном или нескольких файлах конфигурации, основанных XML и названных Web.config. Стандартные настройки конфигурации для всех веб-приложений на веб-сервере расписаны в файле Web.config в каталоге $WINDOWS$\Microsoft.NET\Framework\version\CONFIG. Данные стандартные настройки могут быть добавлены либо переписаны для конкретного веб-приложения используя файл Web.config в корневом каталоге данного приложения. Более того, данные настройки конфигурации могут быть специализированы для веб-приложения от каталога к каталогу, при этом в подкаталоги приложения также добавляются файлы Web.config.

Модификация ответа HTTP (HTTP Response) при помощи фильтров

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

Серверный элемент управления Google Chart API

В одной из предыдущих статей мы рассмотрели способ использования бесплатного Chart API от Google для создания диаграмм различных типов из страницы ASP.NET. Google Chart API можно вызвать при помощи ссылки на ресурс (URL), которая содержит тип диаграммы, ее размер, данные и другие параметры в строке запроса, при этом возвращает диаграмму в виде изображения. Отображение диаграммы при помощи данного API также просто, как добавление элемента управления Image на страницу, установив при этом его свойство ImageUrl в ссылку (URL) Google Chart API с соответственно настроенной строкой запроса.

Создание диаграмм при помощи Google Chart API

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

Поиск неисправностей веб-сайта путем изучения HTTP-трафика

Active Server Pages (ASP) компании Microsoft является предшественником ASP.NET. ASP был простым скриптовым движком, в котором не хватало инструментария, столь используемого разработчиками ASP.NET сегодня, и в большей степени это отладчик. Отладка скрипта ASP обычно заключалась в заполнении кода выражениями Response.Write, чтобы вывести значения переменных в различных точках времени жизненного цикла скрипта. Отладка страницы ASP.NET намного проще благодаря отладчику Visual Studio, который позволяет вам установить точки остановки, прошагать по выполняемому коду, использовать окна Watch - окно для просмотра значений переменных, в то время как они изменяются, а также окно Intermediate для вычисления выражений во время отладки.

Использование XML и LINQ в элементах управления TreeView и ListView

В то время как все больше информации хранится в XML-формате, веб-приложениям необходимо иметь возможность в интерфейсе веб-страницы осуществлять просмотр и редактирование информации, хранимой в XML-файле. Если информация хранится в файле и имеет табличный вид, то мы можем использовать элементы управления DataGrid, GridView и Repeater. Но что делать, если XML-данные представлены  более иерархической структурой? Представьте телефонную книгу компании, которая рекурсивно структурируется в филиалы и отделы. Как такую информацию, которая может иметь множество узлов и любое количество уровней, отобразить и отредактировать посредством веб-страницы?

Создание динамического пользовательского интерфейса ASP.NET, управляемого данными

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

Использование элементов управления ListView и DataPager в ASP.NET 3.5

В Toolbox ASP.NET версии 3.5 было добавлено два новых элемента управления данными: ListView и DataPager. Элемент управления ListView предоставляет те же встроенные функции, что и GridView, но при этом они обеспечивают  больше контроля над информацией. Выходные данные ListView определяются при помощи множества шаблонов, при помощи LayoutTemplate и ItemTemplates элемента. ItemTemplate обрабатывается для каждой записи, привязанной к элементу управления ListView, и обычно на него ссылаются в LayoutTemplate.

AJAX для ASP.NET и шаблоны на стороне клиента

Присущая частичной визуализации простота делает её особенно привлекательной для разработчиков приложений AJAX для ASP.NET: ее применение снижает количество изменений в существующих страницах и требует меньшего уровня квалификации разработчиков. Однако частичная визуализация — это всего лишь прием, позволяющий обойти обозреватель при выполнении запроса на обратную передачу. Страницы, на которых используется частичная визуализация, не являются настоящими страницами AJAX, потому что они все еще используют старый метод обратной передачи. Тогда что же является настоящим приложением AJAX?

Шаблоны AJAX в ASP.NET

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

Советы и приемы при работе с ListView

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

Стратегии масштабирования для приложений ASP.NET

Как советников по производительности ASP.NET нас обычно привлекают к проекту, когда проблемы уже возникли. Во многих случаях, вызов приходит только тогда, когда приложение уже в производстве. То, что работало отлично для разработчиков, не работает для пользователей. Жалоба: веб-узел работает слишком медленно. Руководство хочет знать, в чем причина и почему ее не обнаружили при тестировании. Разработчики не могут воспроизвести проблему. По крайней мере, один человек утверждает, что ASP.NET не масштабируется. Звучит знакомо?

Доступ к данным с помощью элементов управления источником данных (DataSource) в ASP.NET 2.0

Работа с данными в ASP.NET версии 1.x требует написания кода по осуществлению доступа к данным. Это подразумевает осуществление соединения к базе данных, указание SQL-команды и ее последующий запуск. Элементы управления источником данных в ASP.NET 2.0 значительно упрощают данный процесс путем инкапсуляции модели доступа к данным в пределах структуры элемента управления. Поэтому информация может быть получена либо изменена и затем привязана к элементу управления, и все это не требует написания кода.

Декларативное кэширование данных в ASP.NET

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

События элемента управления источника данных (Data Source Control) в ASP.NET 2.0

Чаще всего разработчики используют элементы управления SqlDataSource и ObjectDataSource, и они предоставляют способы получения и изменения данных либо из базы данных, либо из библиотеки объектов, соответственно. Оба элемента управления вызывают события до и после выборки, вставки, обновления и удаления данных. К примеру, SqlDataSource и ObjectDataSource вызывают свои события выборки (Select) ещё до выполнения SQL-запроса либо вызова метода объекта для получения данных. После того как данные были возвращены, вызывается событие выборки. Путем создания обработчика события выборки вы можете исследовать и управлять параметрами, используемыми в выборке данных; событие выборки, среди всего прочего, также отражает факт  возбуждения исключения во время данной операции. Аналогично события вызываются до и после процессов обновления, вставки и удаления.

Создание специализированных элементов управления параметрами (Parameter Controls) в ASP.NET 2.0

Parameter является элементом управления, назначением  которого является предоставление значений для заданного параметра. ASP.NET 2.0 поставляется с семью элементами управления Parameter - ControlParameter и более конкретными ControlParameter, CookieParameter, FormParameter, ProfileParameter, QueryStringParameter и SessionParameter - которые получают свои значения из элементов управления на странице, состояния сессии, полей строки запроса и т.д.

Получение XML-данных с помощью XmlDataSource в ASP.NET 2.0

ASP.NET 2.0 значительно упрощает процесс работы с информацией при помощи элементов управления источником данных и усовершенствованными элементами управления. Во второй части данной серии статей мы рассмотрели способ использования элемента управления SqlDataSource для получения данных из реляционной базы данных и затем их можно привязать к любому элементу управления (к примеру GridView, DetailsView, FormView, DataList, Repeater и т.д). Посредством элемента XmlDataSource вы с легкостью можете осуществить доступ к XML-данным (а также отобразить их).

Фильтрация базы данных при помощи параметров в ASP.NET 2.0

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

Доступ к информации базы данных в ASP.NET 2.0

Самые интересное нововведение в ASP.NET 2.0 - это новые элементы управления источником данных (Data Source). Данные элементы являются набором элементов управления, разработанных для предоставления декларативного подхода к осуществлению доступа и изменению информации. Если вкратце, то по сравнению с ASP.NET 1.x, который требовал написания  некоторого кода для осуществления доступа к данным, теперь, при помощи элементов управления источниками, вы можете работать с данными, не написав при этом и строки кода для доступа.

Доступ и обновление данных в ASP.NET 2.0

В прошлом разработчики должны были писать код для доступа и отображения данных. То есть нам приходилось писать код запроса к базе данных и затем писать код для отображения данных. ASP.NET версии 1.x упростил данный процесс при помощи элементов управления данными (DataGrid, DataList, Repeater, DropDownList и т.д.). Имея всего пару строк кода, данные элементы управления могли создавать свои собственные HTML-элементы, как только был указан источник данных. Сегодня, используя ASP.NET верисю 2.0 и элементы управления источником данных (DataSource), разработчики могут как получать доступ к данным, так и отображать их без необходимости написания кода. Сейчас все гораздо проще!

Краткий обзор работы с данными в ASP.NET 2.0

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

Обзор ASP.NET 3.5 и Visual Studio 2008

19 ноября 2007 года компания Microsoft официально выпустила ASP.NET версии 3.5 и Visual Studio 2008. Как и в случае с прогрессом ASP.NET от версии 2.0 до 3.0, возможности в ASP.NET 3.5 являются аддитивными, то есть в ASP.NET 3.5 не изменили и не убрали никакой функциональности, принципов или кода, существовавших в версии 2.0 - в структуру были добавлены новые типы, свойства и возможности.

Отображение случайно выбранного изображения на веб-странице ASP.NET

Как разработчикам веб-приложений, нам приходится тратить много усилий на определение и реализацию бизнес-логики, создание CRUD (англ. create read update delete) и разработку отчетов. Гораздо реже мы  переживаем за обслуживание относительно стиля и внешнего вида веб-сайта. Для разработчиков, работающих в средних и больших компаниях, это не представляет никакой проблемы, так как в компаниях, скорее всего, есть художники-оформители, чьей работой является создание блестящей верстки сайта и периодическое обновление ее, чтобы сайт был всегда свежим. В мелких компаниях разработчики веб-приложений, пишущие код к нему, нередко также ответственны за поддержание внешнего интерфейса.

Создание веб-сайта при помощи ASP.NET 2.0 и каскадной таблицы стилей (CSS)

В числе возможностей ASP.NET 1.0 были адаптивные возможности обработки, которые позволяли обозревателю отображать разметку, обработанную ASP.NET-страницей. Если вкратце: в момент посещения ASP.NET-страницы элементы управления на ней обрабатываются в разметку, которая впоследствии отсылается в браузер и там отображается. Разметка, сгенерированная элементами управления, зависима от браузера, используемого для открытия страницы. При посещении с помощью браузера типа "uplevel" элементы управления ASP.NET генерируют разметку, соответствующую стандартам HTML 4.0; в браузерах типа "downlevel" элементы управления вырабатывают разметку в соответствии со стандартным HTML 3.2.  В ASP.NET 1.x типы браузеров (а именно "uplevel" или "downlevel") были определены посредством элемента <browserCaps> в machine.config или web.config. Причем  недостатком ASP.NET 1.x было то, что по умолчанию только IE 4.0 и версии выше были типа "uplevel", следовательно, современные браузеры типа FireFox и Opera были маркированы типом "downlevel".

Контекстно-зависимая помощь для веб-страницы в ASP.NET 2.0

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

Динамическая установка заголовка страницы в ASP.NET 2.0

Стандартный язык HTML содержит несколько элементов метаданных, которые могут быть добавлены на веб-страницу. Одним из наиболее распространенных является элемент <title>, который встречается в пределах элемента <head> и содержит название страницы. Значение элемента Title, в случае если оно указано, появляется в области заголовка окна браузера, а также является стандартным именем закладки при ее создании. Более того, многие поисковые системы отображают заголовок страницы в виде ссылки на странице результатов поиска. Для этого, с точки зрения разработчика, одной из главных задач является назначение описательного, значащего заголовка страницы.

Навигация по сайту в ASP.NET 2.0

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

Обмен информацией между страницами с содержимым (Content Pages) и мастер–страницами (Master Pages)

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

Краткий обзор мастер-страниц (Master Pages) в ASP.NET 2.0

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

ASP.NET AJAX: Отключение пользовательского интерфейса во время выполнения частичного постбэка

При использовании Microsoft ASP.NET AJAX Framework и UpdatePanel (свойство ChildrenAsTriggers  которого  по умолчанию установлено в True "Истина"),  в случае, если находящийся в пределах UpdatePanel элемент интерфейса  вызывает полноценный постбэк, вместо него производится частичный постбэк. Например, при нажатии на элемент управления Button (кнопка) или при выборе какого-то другого значения в элементе управления DropDownList (Выпадающий список), свойство которого AutoPostBack установлено в значение True ("Истина"), обычно вызывается полноценный постбэк. Однако, если данные элементы находятся в UpdatePanel, то взамен вызывается частичный постбэк. Но что произойдет, если вызванный частичный постбэк затянулся, и пользователь опять вызовет частичный постбэк? Или что произойдет, если во время этой паузы он нажмет на какую-то другую кнопку в UpdatePanel и тем самым вызовет выполнение второго частичного постбэка?

Создание элемента управления Calendar (календарь), использующего AJAX

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