Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Os servidores em processo fornecem a vantagem de velocidade e tamanho de um manipulador de objetos com a capacidade de edição de um servidor local. Então, por que você escolheria implementar seu aplicativo OLE como um servidor local em vez de um servidor em processo? Existem várias razões:
- Segurança. Apenas um servidor local tem o seu espaço de endereço isolado do do cliente. Um servidor em processo compartilha o espaço de endereçamento e o contexto do processo do cliente e, portanto, pode ser menos robusto em face de falhas ou programação maliciosa.
- Granularidade. Um servidor local pode hospedar várias instâncias de seu objeto em muitos clientes diferentes, compartilhando o estado do servidor entre objetos em vários clientes de maneiras que seriam difíceis ou impossíveis se implementadas como um servidor em processo, que é simplesmente uma DLL carregada em cada cliente.
- Compatibilidade. Se você optar por implementar um servidor em processo, você abre mão da compatibilidade com OLE 1, que não suporta esses servidores. Isso não será uma consideração para muitos desenvolvedores, mas se for, então é de preocupação crítica.
- Incapacidade de suportar links. Um servidor em processo não pode servir como uma fonte de link. Como uma DLL não pode ser executada sozinha, ela não pode criar um objeto de arquivo para ser vinculado.
Apesar dessas desvantagens, um servidor em processo pode ser uma excelente escolha por sua velocidade e tamanho — se atender a todos os seus outros requisitos.
Tópicos relacionados