на начало
На главную страницу
Форум   

Статья :: Удаленные объекты


Удаленные объекты

Клиентская часть организовывает заместитель, активизируя (вызывая) удаленный объект. Удаленные объекты должны быть производными от MarshalByRefObject, потому что вы работаете с заместителем объектной ссылки, а не непосредственно с самой объектной ссылкой. Это та же концепция, что и ранее при обсуждении понятия контекста, где для обращения к объектам, находящимся в другом контексте, также используется передача по ссылке.
Локальные объекты, передаваемые в качестве параметров методов из одной прикладной области в другую, можно передавать по значению (копировать) или по ссылке.
Чтобы передать объект по значению, он должен быть сериализован (преобразован в последовательную форму). Объект преобразуется в последовательную форму, передается на транспортном уровне, и воссоздается на другой стороне. Это мы уже видели в примере AppDomain (Прикладная область).
Чтобы передать класс по ссылке, он должен быть производным от MarshalByRef Object. Пример Remoting иллюстрирует передачу объекта по ссылке.
Удаленные объекты могут быть активированы как сервером, так и клиентом. Активизированные сервером объекты не создаются до вызова первого метода этого объекта. Они подразделяются на две разновидности, SingleCall и Singleton (Одноэлементное [одноточечное] множество). SingleCall — это объект без состояния, т.е. объект, не меняющий свое состояние в процессе выполнения. Вызов каждого метода приводит к созданию нового объекта. Другая разновидность объектов. Singleton (Одноэлементное [одноточечное] множество), работает иначе. Один и тот же экземпляр Singleton (Одноэлементное [одноточечное] множество) объекта может использоваться для обслуживания нескольких клиентских запросов. Объекты Singleton (Одноэлементное [одноточечное] множество) могут иметь состояние. Объекты Singleton (Одноэлементное [одноточечное] множество) существуют постоянно. Использование объектов SingleCall предпочтительнее, чем объектов Singleton (Одноэлементное [одноточечное] множество), если нужна лучшая масштабируемость, потому что они не сохраняют состояние и при их использовании легче сбалансировать загрузку.
Вызванные клиентом объекты активизируются тогда, когда клиент их запрашивает. Хотя они могут использоваться для нескольких запросов и хранить свое состояние, но не могут хранить информацию о различных вызовах со стороны клиента. Это похоже на вызов CoCreatelnstanceEx в распределенной модели компонентных объектов DCOM.


Удаленные объекты

страницы в данном разделе 
Глава 8. Классы каркаса .NET Framework Классы каркаса .NET Framework
Метаданные и отражение Класс туре (Тип)
Динамическое связывание Ввод и вывод в .NЕТ
Потоковые классы Примитивные типы данных и потоки
TextReader И TextWriter Обработка файлов
Сериализация, или преобразование в последовательную форму Объекты сериализации
ISerializable Модель приложений .NET
Поток Изоляция потоков
Синхронизация коллекций Контекст
Заместители и заглушки ContextBoundObject
Изоляция приложений Прикладная область
Прикладные области и сборки Класс AppDomain (Прикладная область)
События AppDomain (Прикладная область) Пример AppDomain (Прикладная область)
Маршализация, прикладные области и контексты Асинхронное программирование
Асинхронные шаблоны проектирования lAsyncResult
Использование делегатов в асинхронном программировании Организация поточной обработки с параметрами
Удаленный доступ Краткий обзор удаленного доступа
Удаленные объекты Активация
Пример удаленного объекта Пример программы, реализующей удаленный доступ
Метаданные и удаленный доступ Конфигурационные файлы удаленного доступа
Программируемые атрибуты Использование самостоятельно созданного атрибута
Определение класса атрибута Определение базового класса
Сборка мусора Уничтожение объектов
Неуправляемые ресурсы и освобождение ранее выделенной области памяти Поколения
Завершение и раскручивание стека Управление сборкой мусора с помощью класса сборщика мусора GC
Программа-пример Резюме


Содержание сайта (выборка)
Apache
Протоколы TCP/IP (принципы, протоколы и архитектура)



PHP, PELR, JSP
PHP
JavaServer Pages (JSP)

Базы данных
Основы mysql
СУБД INFORMIX
СУБД POSTGRES
Основы проектирования реляционных баз данных

HTML, javascript
Спецификация HTML 4.01
Каскадные Таблицы Стилей, Уровень 2
Клиентский JavaScript. Справочник.
JavaScript руководство пользователя
Серверный JavaScript 1.4. Руководство по Использованию.

Паскаль, C, C++, C#
GCC (примеры)
FAQ Валентинa Озеровa DELPHI
C



 
© faq.pp.ru, справочник программиста