Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Em COM+, o estado transitório compartilhado para objetos é gerenciado usando o gerenciador de propriedades compartilhadas (SPM). O SPM é um dispensador de recursos que você pode usar para compartilhar o estado entre vários objetos dentro de um processo de servidor.
Não é possível usar variáveis globais em um ambiente distribuído devido a problemas de simultaneidade e colisão de nomes. O gerenciador de propriedades compartilhadas elimina as colisões de nomes fornecendo grupos de propriedades compartilhadas, que estabelecem namespaces exclusivos para as propriedades compartilhadas que elas contêm. O SPM também implementa bloqueios e semáforos para ajudar a proteger as propriedades partilhadas contra o acesso simultâneo, o que pode resultar em atualizações perdidas e deixar as propriedades num estado imprevisível.
Observação
O estado transitório compartilhado é uma informação de estado mantida na memória que não sobrevive a falhas do sistema. As informações são projetadas para serem compartilhadas por vários objetos entre os limites da transação (mas não entre o processo).
As propriedades compartilhadas armazenadas no SPM estão disponíveis apenas para objetos executados no mesmo processo. Isso significa que os objetos que usarão o SPM para armazenar valores e que precisarão ter acesso a esses valores devem ser instalados como parte do mesmo aplicativo COM+. É possível que os administradores de sistema movam classes COM+ de um pacote para outro após a implantação do aplicativo COM+. Se você confia em vários objetos compartilhando propriedades por meio do SPM, deve documentar claramente que eles devem ser instalados no mesmo aplicativo COM+.
Também é importante que os componentes que compartilham propriedades tenham o mesmo atributo de ativação. Se dois componentes no mesmo pacote tiverem atributos de ativação diferentes, eles geralmente não poderão compartilhar propriedades. Por exemplo, se um componente estiver configurado para ser executado em um processo de cliente e o outro estiver configurado para ser executado em um processo de servidor, seus objetos geralmente serão executados em processos diferentes, mesmo que estejam no mesmo pacote.
Você sempre deve instanciar os objetos SharedPropertyGroupManager, SharedPropertyGroupe SharedProperty a partir de componentes COM+ em vez de a partir de um cliente base. Se um cliente base cria grupos e propriedades de propriedades compartilhadas, as propriedades compartilhadas estão dentro do processo de cliente-base, não em um processo de servidor. Isso significa que os objetos COM+ não podem compartilhar as propriedades, a menos que os objetos também estejam em execução no processo do cliente (o que geralmente não é uma boa ideia).
Tópicos relacionados