- •Федеральное агентство по образованию
- •Таганрогский государственный радиотехнический университет
- •Программирование в Интернет
- •Лекция 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)
Лекция 18. Введение в инфраструктуру Microsoft .Net Remoting
Microsoft .NET Remoting - расширяемая инфраструктура с широкими возможностями для бесшовного взаимодействия между объектами, которые находятся в разных AppDomain'ах, в разных процессах или даже на разных компьютерах. .NET Remoting представляет мощную и в то же время простую модель программирования и поддержку периода выполнения, благодаря чему удаленное взаимодействие становится прозрачными. В этой статье мы рассмотрим различные строительные блоки, образующие архитектуру Remoting, а также исследуем некоторые типичные сценарии применения .NET Remoting. Обзор по .NET Remoting см. в Microsoft .NET Remoting: A Technical Overview.
Объекты .Net Remoting
Существует три типа объектов, которые могут выступать в роли удаленных объектов .NET (тип объекта выбирается в зависимости от потребностей приложения).
SingleCall-объекты SingleCall-объекты обслуживают один - и только один - входящий запрос. Они полезны, если вам нужны объекты, выполняющие строго определенный объем работы. От SingleCall-объектов обычно не требуется сохранения информации о состоянии, и сами по себе они не способны сохранять такую информацию между вызовами методов. Зато SingleCall-объекты можно настроить с учетом требований балансировки нагрузки.
Singleton-объекты Singleton-объекты обслуживают несколько клиентов и, следовательно, совместно используют данные, сохраняя информацию о состоянии между клиентскими вызовами. Они полезны, если вам нужно, чтобы одни и те же данные явно использовались несколькими клиентами, а также если издержки, связанные с созданием и поддержкой объектов, велики.
Объекты, активизируемые клиентом (CAO) Объекты, активизируемые клиентом (Client-activated objects, CAO), - это объекты на серверной стороне, активизируемые по запросу клиента. Способ активизации этих серверных объектов во многом аналогичен активизации соклассов в классической модели COM. Когда клиент с помощью оператора new отправляет запрос к серверному объекту, удаленному приложению посылается сообщение с запросом на активизацию. Затем сервер создает экземпляр запрашиваемого класса и возвращает ObjRef вызывающему клиентскому приложению. Далее на клиентской стороне по полученному ObjRef создается прокси, через который клиент будет вызывать методы удаленного объекта. Объекты, активизируемые клиентом, могут сохранять информацию о состоянии между вызовами методов для конкретного клиента, но не для разных клиентских объектов. Каждый вызов new возвращает прокси для независимого экземпляра типа, существующего на сервере.
Передача объектов по механизму .Net Remoting
.NET Remoting позволяет передавать объекты между приложениями следующими способами.
Как параметры методов. Пример: public int myRemoteMethod (MyRemoteObject myObj)
Как возвращаемые значения методов. Пример: public MyRemoteObject myRemoteMethod(String myString)
Как свойства или поля .NET-компонентов. Пример: myObj.myNestedObject
При передаче объектов с маршалингом по значению (Marshal By Value, MBV) из одного приложения в другое создается полная копия объекта.
При передаче объектов с маршалингом по ссылке (Marshal By Reference, MBR) из одного приложения в другое создается ссылка на объект. Когда удаленное приложение получает ссылку на объект (ObjRef), она преобразуется в "прокси", обеспечивающий доступ к исходному объекту.