Compartilhar via


Cenários do Pipeline de suplemento

O modelo de objeto de pipeline add-in fornece a flexibilidade para hospedar aplicativos e suplementos interoperar das seguintes maneiras:

  • Compatibilidade com versões anteriores. As versões mais recentes dos hosts ou suplementos podem operar com suas contrapartes mais antigos.

  • Isolamento. Você pode mover um ou mais add-ins em um domínio de aplicativo no processo de host ou em um processo isolado.

  • O compartilhamento. Você pode usar um suplemento em vários canais de comunicação.

A ilustração a seguir mostra um pipeline de comunicação simples e seus segmentos.

Pipeline de comunicação padrão

Modelo de pipeline de suplementos.

Compatibilidade com Versões Anteriores

Existem dois cenários que demonstram a compatibilidade com versões anteriores.

Novo Host, Add-Ins antigos

A ilustração a seguir mostra como um novo host pode trabalhar com um suplemento antigo.

Pipeline de comunicação com o novo host e o antigo suplemento

Cenário do pipeline: host novo, suplementos antigos.

Nesse cenário de compatibilidade com versões anteriores, o novo host (Host v2) pode trabalhar com um antigo suplemento (Add-in v1) porque seu adaptador de adicionar no lado (Adicionar no lado adaptador v1 - > v2) converte os tipos em um formato que possa entender o suplemento antigo.

O novo suplemento (Add-in v2) tem seus próprios segmentos de modo de exibição e o adaptador para comunicação com o novo host.

Host antigo, novos suplementos

A ilustração a seguir mostra como um host antigo pode trabalhar com novos suplementos.

Canal de comunicação com o host antigo e novo suplemento

Cenário do pipeline: host antigo, suplementos novos.

Nesse cenário de compatibilidade com versões anteriores, o novo suplemento (Add-in v2) pode trabalhar com o antigo host (Host v1) porque seu adaptador de adicionar no lado (Adicionar no lado adaptador v2 - > v1) converte os tipos em um formato que o antigo host possa entender.

Vários níveis de isolamento

Você pode ativar o add-ins em um domínio de aplicativo ou um novo processo usando os métodos sobrecarregados apropriados da Activate método. Esse isolamento pode ser necessário pelas seguintes razões:

  • Para lidar com situações em que as alterações de aplicativo do host e suas dependências de novas não podem ser acomodadas por suplementos antigos. Por exemplo, isso pode acontecer quando o aplicativo host atualiza para uma nova versão do .NET Framework.

  • Para obter confiabilidade, fazendo com que o suplemento executado em seu próprio processo.

  • Crie uma caixa de proteção para o suplemento. Por exemplo, um aplicativo host e um add-in tem diferentes níveis de confiança, conforme especificado pelo AddInSecurityLevel enumeração.

A ilustração a seguir mostra um pipeline de comunicação com dois suplementos, um dos quais está em um processo isolado. Na ilustração, OOP indica um processo isolado.

Canal de comunicação com isolado suplementos

Cenário do pipeline: níveis de isolamento.

Nesse cenário, um desenvolvedor de pipeline tem duas versões diferentes do contrato e adaptadores: um é otimizado para comunicação de entre domínios de aplicativo e o outro é otimizado para comunicação entre processos. Os suplementos nem o host precisa estar ciente das diferenças porque eles usam o mesmo visualizações independentemente do contrato e o nível de isolamento.

Suplementos compartilhados

Você pode usar um suplemento com vários hosts, desde que o add-in é compatível com os hosts. Por exemplo, você pode usar um suplemento compartilhado para implementar uma barra de ferramentas que fornece uma pesquisa na Internet para um aplicativo da Web do host. Outro exemplo é um suplemento compartilhado que fornece os filtros de spam e proteção contra vírus para servidores de email ou clientes de email.

Para ativar o add-in operar com seu novo host, você deve criar um novo adaptador de adicionar no lado que converte a exibição do suplemento para o contrato do host.

A ilustração a seguir mostra como um suplemento (Add-in A) pode ser compartilhado por dois aplicativos de host (Host A e b do Host).

Canal de comunicação com o suplemento compartilhado

Cenário do pipeline: suplementos compartilhados.

Consulte também

Conceitos

Desenvolvimento de pipeline