Lar Desenvolvimento O que é um wrapper de chamada em tempo de execução (rcw)? - o que é techopedia

O que é um wrapper de chamada em tempo de execução (rcw)? - o que é techopedia

Índice:

Anonim

Definição - O que significa Runtime Callable Wrapper (RCW)?

Um RCW (Wrapable Callable Wrapper) é um objeto de wrapper gerado pelo CLR (Common Language Runtime) para encapsular um objeto COM (Modelo de Objeto de Componente) para expô-lo como um assembly .NET.

Um RCW atua como interface principal para um cliente .NET que precisa interagir com um componente COM, organizando as chamadas entre eles. Ele forma um wrapper de metadados que expõe os componentes COM ao CLR. Ajuda os contêineres ActiveX existentes a hospedar controles .NET e ajuda os aplicativos .NET Windows Forms a hospedar contêineres ActiveX. O RCW também é útil em sistemas comerciais que foram criados usando componentes COM, permitindo a integração de seu antigo código legado com componentes .NET recém-desenvolvidos, sem afetar a produtividade.

Techopedia explica Runtime Callable Wrapper (RCW)

Um componente COM é um objeto reutilizável binário que fornece seus serviços publicando as interfaces pelas quais a comunicação com seus clientes ocorre. A definição das interfaces ou contratos binários do componente COM é especificada na biblioteca de tipos das interfaces. Ao contrário do COM, a comunicação entre objetos .NET é baseada em objetos e não em interface. O RCW atua como uma ponte entre componentes COM e objetos .NET para rotear as operações e mediar entre os dois por empacotamento.

Um RCW gerencia a vida útil do seu objeto COM encapsulado. Ao passar a referência entre dois domínios ou apartamentos de aplicativos, o proxy do objeto será usado. A criação do RCW é baseada nos metadados derivados da biblioteca de tipos. Sua destruição ocorre durante a coleta de lixo. O empacotamento pelo RCW inclui a conversão dos argumentos do método e os valores de retorno, de forma que eles sejam representados de uma maneira que possa ser lida pelo cliente e pelo servidor. Um exemplo de empacotamento pode ser a conversão que ocorre para um argumento de cadeia que precisa ser passado como tipo BSTR para um componente COM, enquanto deve ser do tipo cadeia em um cliente .NET.

O RCW pode ser criado usando o Visual Studio, que usa um recurso de geração automática de código, tornando o processo simples e transparente para o usuário. Como alternativa, o assembly RCW contém metadados para os tipos definidos na biblioteca de tipos de um componente que podem ser criados, usando a ferramenta tlbimp.exe na linha de comando.

Esta definição foi escrita no contexto do .NET
O que é um wrapper de chamada em tempo de execução (rcw)? - o que é techopedia