- •Федеральное агентство по образованию
- •Таганрогский государственный радиотехнический университет
- •Программирование в Интернет
- •Лекция 1. Введение в Web-программирование
- •Принцип работы Web-приложений
- •Обзор известных средств программирования для Internet
- •Первое решение: cgi
- •Преимущества cgi
- •Недостатки cgi
- •Второе решение: isapi-интерфейс
- •Преимущества isapi
- •Недостатки isapi
- •Третье решение: asp
- •Преимущества asp
- •Недостатки asp
- •Лекция 2. Введение в php
- •Что такое рнр?
- •Архитектура рнр
- •Первая программа на php
- •Взаимодействие html и php
- •Лекция 3. Типы данных php
- •Комментарии
- •Логические переменные
- •Синтаксис логических переменных
- •Приведение значений к логическому типу
- •Целые числа
- •Синтаксис целочисленных переменных
- •Целочисленное переполнение
- •Приведение к целочисленному типу
- •Вещественные числа
- •Константы
- •Преобразование строк
- •Лекция 4. Переменные
- •Изменение типа переменной
- •Преобразование типа переменной
- •Операторы и выражения
- •Оператор присваивания
- •Арифметические операторы
- •Оператор конкатенации
- •Дополнительные операторы присваивания
- •Операторы сравнения
- •Логические операторы
- •Увеличение или уменьшение целой переменной
- •Порядок вычисления операторов
- •Динамические переменные
- •Ссылки на переменные
- •Лекция 5. Инструкция if
- •Блок else инструкции if
- •Блок elseif инструкции if
- •Инструкция switch
- •Оператор ?
- •Цикл while
- •Цикл do... While
- •Цикл for
- •Прерывание циклов инструкцией break
- •Пропуск итераций с помощью инструкции continue
- •Лекция 6. Функции
- •Аргументы функции
- •Аргументы по умолчанию
- •Область видимости переменных
- •Лекция 7. Краткий обзор .Net Framework
- •Промежуточный язык Microsoft Intermediate Language
- •Компиляция “Just In Time”
- •Управляемый код и данные
- •Лекция 8. Создание приложений Web Forms Файлы проекта Web Forms
- •Файлы Web-приложения
- •Обработка событий События жизненного цикла Web-приложения
- •Сохранение данных Web-формы
- •Visual Basic .Net
- •Visual c#
- •События Application и Session
- •Visual Basic .Net
- •Visual c#
- •События Web-формы
- •Visual Basic .Net
- •Visual c#
- •События серверных элементов управления
- •Visual Baste .Net
- •Visual c#
- •Лекция 9. Работа с Web-объектами Введение в пространство имен
- •Пространства имен в Web-приложениях Обзор пространства имен Web
- •Visual Basic .Net
- •Visual c#
- •Использование объекта Application
- •Visual Baste .Net
- •Visual c#
- •Использование объекта Page
- •Visual Basic
- •Visual с#
- •Использование объекта Request
- •Visual Baste .Net
- •Visual c#
- •Использование объекта Response
- •Visual Baste .Net
- •Visual c#
- •Лекция 10. Сохранение сведений о состоянии Способы сохранения сведений о состоянии
- •Использование строк запросов
- •Visual Basic .Net
- •Visual c#
- •Использование переменных состояния Application и Session
- •Упорядочение доступа к переменным состояния
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Отключение переменных состояния Session
- •Лекция 11. Web-элементы управления. Использование элементов управления.
- •Простые элементы управления
- •Элементы управления Label
- •Элементы управления HyperLink
- •Элементы управления Image
- •Элементы управления CheckBox
- •Элементы управления RadioButton
- •Элементы управления Table
- •Элементы управления DropDownList
- •Элементы управления ListBox
- •Элементы управления CheckBoxList
- •Элементы управления RadioButtonList
- •Лекция 12. Проверяющие элементы управления
- •Использование проверяющих элементов управления
- •RequiredFieldValidator
- •RangeValidator
- •CompareValidator
- •RegularExpression Validator
- •CustomValidator
- •ValidationSummary
- •Отмена проверки вводимых данных
- •Лекция 13. Введение в Web-сервисы Обзор Web-сервисов xml
- •Инфраструктура Web-сервисов xml
- •Взаимодействие клиентов и Web-сервисов xml
- •Лекция 14. Механизм обнаружения Web-сервисов xml
- •Использование Web-сервисов xml
- •Добавление Web-ссылки
- •Генерация класса прокси
- •Создание объекта класса прокси
- •Доступ к Web-сервису xml через объект прокси
- •Сериализация
- •Лекция 15. Управление Web-методами при помощи атрибутов Атрибуты Web-метода
- •Буферизация откликов Web-метода
- •Visual c#
- •Пользовательские маркеры
- •Подписи
- •Шифрование
- •Лекция 17. Модель безопасности asp.Net
- •Лекция 18. Введение в инфраструктуру Microsoft .Net Remoting
- •Объекты .Net Remoting
- •Передача объектов по механизму .Net Remoting
- •Пример кода для простого серверного объекта .Net Remoting
- •Срок жизни, определяемый арендой
- •Channel Services (System.Runtime.Remoting.Channels)
- •Пример кода, загружающего Channel Services
- •Форматирующие объекты сериализации (System.Runtime.Serialization.Formatters)
Visual Baste .Net
Private Sub Page_load(ByVal sender As System.Object, ByVal e As _ System.EventArgs) Handles MyBase.Load
‘ Этот код исполняется при первом отображении страницы.
If Not IsPostBack Then
Если браузер поддерживает cookies...
If Request.Browser.Cookies Then
’ ...создать cookie...
Dim cookUname As New HttpCookie(“UName")
cookUname.Value = "Жетон"
' ... и добавить его к отклику. Response.Cookies.Add(cookUname)
End If
End If
End Sub
Visual c#
private void Page_Load(object sender, System.EventArgs e)
{
// Исполняется при первом отображении страницы
if(!IsPostBack)
// Если браузер поддерживает cookies...
if(Request.Browser.Cookies)
{
// ...создать cookie...
HttpCookie cookUname = new HttpCookie(“UName”);
cookUname.Value = “Жетон”;
// ... и добавить к отклику
Response.Cookies.Add(cookUname);
}
}
Лекция 10. Сохранение сведений о состоянии Способы сохранения сведений о состоянии
Как известно, Web-формы создаются и уничтожаются при каждом запросе клиентского браузера. В силу этих особенностей значения переменных, объявленных в Web-форме, пропадают после ее отображения. В ASP.NET существуют различные средства сохранения переменных между запросами, позволяющие решить эту проблему:
строки запросов – необходимы для передачи информации между запросами и откликами в составе Web-адреса. Строки запросов видны пользователю, поэтому в них нельзя передавать секретную информацию, например пароли;
файлы cookie – применяются для хранения небольших порций информации на клиентской машине. Клиент может отказаться от записи cookie, это нужно предусмотреть при написании кода;
состояние отображения – ASP.NET хранит элементы, записанные в страничное свойство View State, в скрытых полях страницы;
переменные состояния Session – требуются для хранения данных, локальных для текущего сеанса (доступных единственному пользователю);
переменные состояния Application – применяются для хранения данных, которые должны быть доступны всем пользователям приложения.
Использование строк запросов
Строки запросов позволяют пересылать вместе с адресом дополнительную информацию. В HTML-тэгах гиперссылок строка запроса следует после знака вопроса:
<А HREF= "WebForm1.aspx?UName=Wombat">Пример строки запроса.</A>
Чтобы переслать строку запроса в коде, ее следует добавить к адресу, передаваемому методу Redirect. Ниже показан обработчик события Click, функционально эквивалентный предыдущему HTML-тэгу:
Visual Basic .NET
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _ System.EventArgs) Handles Button1.Click
' Отобразить страницу еще раз с учетом строки запроса. Server.Redirect("WebFormT.aspx?Wame=Wombat”)
End Sub
Visual C#
private void Button1_Click(object sender, System.EventArgs e)
{
// Отобразить страницу еще раз с учетом строки запроса.
Response.Redirect("Webforffl1.aspx?UName=Wombat");}
Для извлечения строк запросов в коде применяется метод Query String объекта Request. Следующий код отображает элемент Uname, извлеченный из строки запроса, созданной в предыдущих примерах:
Visual Basic .NET
Private Sub Page._Load(ByVal sender As System.Object, ByVal e As _ System.EventArgs) Handles MyBase.Load
' Отобразить строку запроса.
Response.Write(Request.QueryString("UName"))
End Sub
Visual C#
private void Page_Load(object sender, System.EventArgs e)
{
// Отобразить строку запроса.
Response,Write(Request.QueryString["UName"]);
}
Использование файлов cookie
Файлы cookie применяются для хранения небольших порций данных на компьютере клиента. Web-сайты часто обращаются к файлам cookie для хранения личных параметров и иной информации клиентов. Поскольку клиент может отказаться от cookie, перед попыткой записи cookie важно убедиться, что это разрешено браузером.
Следующий код проверяет, разрешает ли браузер запись cookie, и если да, сохраняет личные параметры пользователя.
Visual Basic .NET
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As _ System.EventArgs) Handles MyBase.Load
' Этот код исполняется при первом отображении страницы.
If Not IsPostBack Then
' Если браузер поддерживает файлы cookie...
If Request.Browser.Cookies Then
'...создать cookie...
Dim cookUPrefs As New HttpCookie("UPrefs")
CookUPrefs.Value = "English"
'... и добавить в отклик.
Response.Cookies.Add(cookUPrefs)
End If
End If
End Sub
Visual C#
private void Page_Load(object sender, System.EventArgs e){
// Этот код исполняется при первом отображении страницы. if(!IsPostBack)
// Если браузер поддерживает файлы cookie...
if(Request.Browser,Cookies){
// ...создать cookie...
HttpCookie cookUPrefs = new HttpCookie(“UPrefs");
cookUPrefs.Value = "English";
// ...и добавить в отклик. Response.Cookies.Add(cookUPrefs);
}
}
Следующий код проверяет наличие файла cookie, и если проверка успешна, получает его.
Visual Basic .NET
Private Sub Page_load(ByVal sender As System.Object, ByVal e As _ System.EventArgs) Handles MyBase.Load
' Этот код исполняется при первом отображении страницы.
If Not IsPostBack Then
' Если браузер поддерживает файлы cookie...
If Request.Browser.Cookies Then
' ...проверить, существует ли cookie UPrefs.
If Not IsNothing(Request.Cookies("UPrefs")) Then
' Сохранить значение cookie.
Session(“Lang") = Request.Cookies(“UPrefs”).Value
End If
End If
End If
End Sub
Visual C#
private void Page_Load(object sender, System.EventArgs e){
// Этот код исполняется при первом отображении страницы, if(!IsPostBack)
// Если браузер поддерживает файлы cookie...
if(Request.Browser.Cookies)
// ...проверить, существует ли cookie UPrefs.
if(Request.Cookies["UPrefs"] != null)
// Сохранить значение cookie.
Session["Lang"] = Request.Cockies["UPrefs"].Value;
}
Использование состояния отображения
Свойство ViewState служит для хранения данных в скрытых полях страницы. Поскольку ViewState сохраняет данные в странице, этот способ годится лишь для тех элементов, которые можно сериализовать. Для сохранения в ViewState более сложных элементов их придется сначала преобразовать в строку, а после извлечения – вернуть в исходный вид.
Следующий код извлекает текст из текстового поля и помещает его в ячейки таблицы, расположенной на странице. Поскольку нельзя хранить объекты непосредственно в свойстве ViewState, процедура Button1_Click сначала сохраняет полученные строки в ViewState, а затем процедура Page_Load создает на основе сохраненных текстовых строк элементы управления, составляющие таблицу.