» Главная
eXcode.ru » Статьи » .NET
» Новости
» Опросы
» Файлы
» Журнал



Пользователей: 0
Гостей: 9





Удаленные вызовы




Как взаимодействия внутри процесса и между процессами работают в CLR?

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

Если разработчик указывает конечную точку, с использованием утилиты soapsuds.exe для создания прокси, то HTTP канал и формат SOAP используются по умолчанию.
Если разработчик делает вызов в управляемом коде, то необходимо точно указать, какой канал и какой формат использовать. Это может быть определено административно, через файлы конфигурации, либо через вызовы API для загрузки определенных каналов. Есть следующие варианты:
HTTP канал с форматом SOAP (HTTP работает хорошо в Интернет, или в любом месте, где трафик должен идти через системы защиты)

TCP канал с бинарным форматом (TCP - более производительный вариант для локальных сетей)

Когда происходит переключение между управляемым и неуправляемым кодом, то используется инфраструктура COM/DCOM. В начальных вариантах CLR, он же использовался для вызова сервисных компонент (компонент, которые используют COM+ сервисы). В окончательном варианте, должна быть реализована возможность настраивать вызов любой удаленной компоненты.

Сборка мусора для арспределенных объектов, носит название "leased based lifetime." - договорной жизненный цикл. Каждый объект имеет оговоренное время, и когда это время истекает, то объект отсоединяется от инфраструктуры CLR. Объекты имеют по умолчанию время обновления - срок обновляется, когда происходит удачный вызов от клиента к объекту. Кроме того, клиент может непосредственно обновить договор.

Источник: www.cyberguru.ru
К началу статьи





Добавил: Дата публикации: 2007-10-16 09:02:21
Рейтинг статьи:3.00 [Голосов 5]Кол-во просмотров: 6598

Комментарии читателей

Всего комментариев: 0
Ваше имя: *
Текст записи: *
Имя:

Пароль:



Регистрация

Каким языком программирования вы чаще пользуйтесь?
C++
27% (108)
Delphi
47% (190)
PHP
8% (34)
Basic
3% (13)
Assembler
3% (11)
ASP
1% (6)
Perl
3% (11)
JAVA
3% (14)
Другой
4% (17)

Проголосовало: 404
Пpогpаммист увидел HЛО:
- У кого-то диск полетел...
Рейтинг: 6.7/10 (3)
Посмотреть все анекдоты