Interop marshaling

Когато успя клиент и неуправляван сървъра са в една и съща единица, marshaling услуга обработва всички данни взаимодействие marshaliruemye. Но ако на клиента и сървъра се инициализират в различни отдели, също изисква marshaling COM. Диаграмата по-долу показва елементите на повикване между блоковете.


Поканата между клиент и .NET COM-обекти, които са в различни отдели

За да събере между звената, можете да:

За да се съгласи с допълнителните разходи за marshaling между единици, които стават видими само в случаите, когато на границата пресича много предизвикателства. Повиквания към успешно преминал границата единици, е необходимо да се регистрирате библиотека от COM-компонент видове.

Промяна на основния поток от клиента поток еднонишкови или многонишков. Например, ако C # клиент причинява много COM-компонент еднонишкови единици могат да бъдат избегнати marshaling между единици, чрез определяне на еднонишкови основното устройство на потока.

След като в продължение на C # клиент конец се дава еднократна резба единица, да се обадя на COM-компоненти единици изискват многонишков marshaling между единиците.

Инструкции за избиране на преграждане модели се отнасят изрично. Раздел контролирани и неконтролирани Threading.

Когато marshaling между единиците COM marshaling използва във всеки разговор между управлявани и неуправляван код, ако обектите са в отделни процеси. Например:

Клиент на COM, позовавайки се на управлявани сървър на отдалечения компютър с помощта на DCOM.

Сайтът клиент, който има достъп до COM сървър на отдалечения компютър с помощта на DCOM.

Диаграмата по-долу показва как представяше взаимодействието и COM marshaling предоставя комуникационни канали в граничните райони между процеси и възли.


Marshaling между процеси

Съхраняване на документи за самоличност

В CLR поддържа идентификатори на контролирани и неконтролирани препратки. Следната диаграма показва потока на директни връзки неуправляеми (горния ред) и контролирани директни връзки (долната линия) до границата между процеси и възли.

Interop marshaling

Преносни връзки в граничните райони между процеси и възли

Неуправляван клиент получава препратка към COM-обект от управляван обект, да получите този линк от отдалечен възел. Отдалеченият достъп механизъм е DCOM.

Сайтът клиент получава препратка към успя обект от COM-обект, който е получил тази връзка от отдалечен възел. Отдалеченият достъп механизъм е DCOM.

Изнесеното тип библиотека успя сървъра трябва да бъдат регистрирани.

Броят на процесите на границите между изходящите и входящите повиквания обекти е без значение; същите референции се използват за насочване на обаждания, входящи и изходящи в процесите на тях.

Контролиран на отдалечен достъп

среда по време на работа също така осигурява контролиран отдалечен достъп, който може да се използва, за да се създаде канал за комуникация между управлявани обекти зад граница между процеси и възли. Контролирано отдалечен достъп може да осигури защитна стена между свързващите елементи един с друг, както е показано на схемата по-долу.


Дистанционни разговори през защитни стени със сапун или клас TcpChannel