Compartilhar via


Desenvolvimento de pipeline

O pipeline add-in é o caminho do pipeline de segmentos que o aplicativo host e o suplemento deve usar para se comunicar uns com os outros.

A ilustração a seguir mostra o canal de comunicação e seus segmentos.

Suplemento do pipeline

aplicativo host está em um participante do pipeline e o suplemento é na Outros participante.A partir de cada extremidade e movendo em direção ao meio, aplicativo host e o suplemento têm uma classe base abstrata que define um modo de exibição do modelo de objeto que ambos compartilham.Esses tipos (classes) formam o exibição de suplemento segmento do pipeline e o host de exibir o add - no segmento de pipeline.O exibição de suplemento pipeline segmento geralmente contém mais de uma classe abstrata, mas a classe que o suplemento herda é conhecido sistema autônomo a adição - na base.

O segmento de pipeline de adaptador no lado do suplemento e o adaptador do host pipeline segmento converter o fluxo dos tipos entre seus segmentos de pipeline do modo de exibição e o segmento de pipeline do contrato.O segmento central do pipeline é um contrato que é derivado do IContract interface. Este contrato define os métodos que o aplicativo host e o suplemento irão usar.

Se você carregar o host e o suplemento em domínios de aplicativo separado, você tem um limite de isolamento que separa o escopo do aplicativo host do escopo do suplemento.O contrato é o assembly único que é carregado no host e domínios de aplicativos de suplemento.O host e o suplemento cada consultem somente sua exibição dos métodos de contrato.Portanto, eles são separados por uma camada de abstração do contrato.

Para desenvolver os segmentos de pipeline, você deve criar uma estrutura de diretório que irá contê-los.Para obter mais informações sobre as diretrizes de escopo e requisitos de desenvolvimento, consulte Requisitos de desenvolvimento de pipeline.

A ilustração a seguir mostra os tipos que compõem os segmentos de pipeline.Os nomes dos tipos mostrados na ilustração são arbitrários mas exibir todos os tipos, exceto para o host e o host do suplemento exigir atributos para que possa ser descobertos pelos métodos construir um armazenamento de informações.

Suplemento do pipeline com tipos

A tabela a seguir descreve os segmentos de pipeline para ativar um suplemento.Para obter mais informações sobre esses segmentos, consulte Contratos, exibições e adaptadores.

Segmento de pipeline

Descrição

Host

O assembly de aplicativo que cria uma instância de um suplemento.

Exibição do host do suplemento

Representa o modo de exibição do aplicativo host do objeto tipos e métodos usados para se comunicar com o suplemento.A exibição do host é uma classe base abstrata ou interface.

Adaptador do host

Um assembly com uma ou mais classes que se adapta métodos para e partir do contrato.

Esse segmento de pipeline é identificado usando o HostAdapterAttribute atributo.

Multi-módulo assemblies não são suportados.

Contrato

Uma interface que é derivada do IContract interface e que define o protocolo de comunicação tipos entre o host e seu suplemento.

Esse segmento de pipeline é identificado, definindo o AddInContractAttribute atributo.

adaptador no lado do suplemento

Um assembly com uma ou mais classes que se adapta métodos para e partir do contrato.

Esse segmento de pipeline é identificado usando o AddInAdapterAttribute atributo.

Cada assembly no diretório de adaptador no lado do suplemento que contém um tipo que possui um AddInAdapterAttribute atributo é carregado para domínio do aplicativo do suplemento.

Cada assembly no diretório add no lado é carregado em seu próprio domínio do aplicativo.

Não há suporte para os assemblies multimódulos

exibição de suplemento

Um assembly que representa exibição do suplemento dos tipos de objetos e métodos que são usados para se comunicar com o host.O modo de exibição do suplemento é uma classe base abstrata ou interface.

Esse segmento de pipeline é identificado usando o AddInBaseAttribute atributo.

Cada assembly no diretório AddInViews que contém um tipo que possui um AddInBaseAttribute atributo é carregado para domínio do aplicativo do suplemento.

Suplemento

Um tipo instanciado que executa um serviço do host.

Caminho de ativação de pipeline

A ilustração a seguir mostra a ativação de tipos de quando um suplemento é ativado.Ele também mostra a passagem de objetos para o host, sistema autônomo sistema autônomo resultados de um cálculo ou uma coleção de objetos.Esse é o cenário mais comum.

Caminho de ativação do suplemento para o host

O caminho de ativação do pipeline ocorre da seguinte maneira:

  1. Ativa o aplicativo host do suplemento com o Activate método.

  2. O suplemento, exibição de suplemento, adaptador de suplemento no lado e o contrato assemblies são carregados para domínio do aplicativo do suplemento.

  3. Uma instância do adaptador no lado do suplemento é criada usando o modo de exibição do suplemento (com a classe identificada pelo AddInBaseAttribute atributo) sistema autônomo seu construtor. O adaptador no lado do suplemento herda a partir do contrato.

  4. O adaptador no lado do suplemento, que é digitado sistema autônomo o contrato, é passado entre o limite de isolamento (opcional) para construtor o adaptador do host do.

  5. Exibição de host do suplemento, adaptador do host e o contrato assemblies são carregados no domínio do aplicativo do host.

  6. Uma instância do adaptador do host é criada usando o contrato sistema autônomo seu construtor.O adaptador do host herda o visão do complemento do host.

  7. O host tem o suplemento, que é digitado sistema autônomo o host de visualizar o suplemento e pode continuar chamando seus métodos.

Tutoriais

Há três tópicos de explicação passo a passo que descrevem como criar pipelines usando o Visual Studio:

Consulte também

Conceitos

Suplemento cenários de pipeline

Visão geral do suplemento