- •Федеральное агентство по образованию
- •Таганрогский государственный радиотехнический университет
- •Программирование в Интернет
- •Лекция 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)
Лекция 7. Краткий обзор .Net Framework
Каркас .NET Framework разработан “с нуля”; его задача – предоставить программистам более эффективную и гибкую среду разработки как традиционных, так и Web-приложений. Одна из наиболее важных особенностей .NET Framework – его способность обеспечить “гладкую” совместную работу кода, написанного на различных языках. На рисунке показана структура .NET Framework.
В основе всего каркаса лежат системные сервисы. В текущей реализации это ядро состоит из сервисов Win32 API и COM+, хотя теоретически уровень абстрагирования можно создавать на основе сервисов любой операционной системы. Традиционно приложения вызывают API-функции операционной системы напрямую. В мире Win32 эту модель трудно реализовать разработчикам, программирующим на Visual Basic, так как некоторые API-функции требуют использовать структуры данных, которые легко создаются на C/C++, но отсутствуют в Visual Basic.
Уровнем выше системных сервисов располагается среда исполнения Common Language Runtime (CLR). Она загружает и выполняет код на любом предназначенном для этой среды языке. Такой код называется управляемым. (managed code). Среда исполнения CLR также поддерживает встроенную всеобъемлющую систему безопасности. В предыдущих Win32-средах в лучшем случае обеспечивалась безопасность файловых систем и сетевых ресурсов. Среда исполнения CLR обеспечивает безопасность к коду, что позволяет разработчикам определять разрешения, необходимые для исполнения программы. Во время загрузки и при выполнении методов, среда исполнения способна определять, разрешено ли предоставлять коду требуемый доступ. Разработчики могут также явно назначать ограниченные разрешения, например коду, выполняющему простые и не очень опасные действия, назначать минимальные разрешения. Основанная на ролях система безопасности, которую поддерживает CLR, позволяет установить разрешения, предоставленные пользователю, в чьем контексте выполняется код.
Среда исполнения CLR поддерживает работу классов .NET Framework, которые можно вызвать из любого языка программирования, поддерживающего .NET.
Поверх библиотеки классов .NET Framework располагаются ADO.NET и XML-данные. ADO.NET – это набор классов, применяемых в .NET Framework для доступа к данным. ADO.NET базируется на спецификацию ADO, но поддерживает XML и работу в неоднородной среде.
Уровнем вше находится слой поддержки двух различных приложений. Первый – это традиционные клиентские прикладные программы, в которых используются формы Windows. Другой тип – приложения ASP.NET, в том числе Web-формы и XML Web-сервисы.
Выше ASP.NET и форм Windows располагается слой специфики общего языка (Common Language Specification, CLS) и языков, которые соответствуют ей. CLS – это набор правил, которым должен соответствовать CLS-совместимый язык. Таким образом гарантируется, что у языков есть обязательный набор общих характеристик.
Промежуточный язык Microsoft Intermediate Language
Хотя описание работы ASP.NET и .NET Framework часто напоминает работу виртуальной Java машины (Java Virtual Machine, JVM) ASP.NET и JVM отличаются. Компилятор Java создает байт-код, который выполняется во время исполнения JVM-машиной. Этот способ немного отличается от принятого в .NET Framework метода, который заключается в создании машинного кода на основании текста на промежуточном языке во время исполнения, но это небольшое различие влечет значительные последствия в плане производительности.
.NET Framework коренным образом отличает код, который не интерпретируется во время исполнения, а преобразуется в “родной” машинный код и выполняется напрямую. Одно из преимуществ Java – жесткая система безопасности, поддерживаемая JVM. В .NET Framework обеспечивается такой же уровень безопасности наряду с возможностью исполнять “родной” код – при условии, конечно, что у пользователя достаточно прав. Существенное преимущество .NET Framework перед Java и JVM – выбор языка программирования. .NET Framework позволяет программистам пользоваться любым языком – от Visual Basic и C# до Eiffel и COBOL.