Lar Desenvolvimento O que é um domínio de aplicativo no .net? - o que é techopedia

O que é um domínio de aplicativo no .net? - o que é techopedia

Índice:

Anonim

Definição - O que significa Domínio de Aplicativo?

Um domínio de aplicativo é um limite de isolamento lógico criado em torno dos aplicativos .NET para que os aplicativos não acessem ou afetem um ao outro. É um processo leve, com seu próprio conjunto de códigos, dados e configurações. Os domínios de aplicativos são criados pelos hosts de tempo de execução, chamados pelo Common Language Runtime (CLR) para carregar os aplicativos que precisam ser executados.


Antes do .NET, o limite de isolamento entre aplicativos era o processo em que eles eram carregados. Todo processo tinha sua própria memória virtual privada e não pode acessar diretamente a memória de outro processo. O domínio do aplicativo possui recursos semelhantes aos de um processo.


Os domínios de aplicativos têm os seguintes recursos:

  1. Utilização otimizada dos recursos do sistema, usando menos processos para executar vários aplicativos.
  2. Confiabilidade usando isolamento de tarefas em situações em que os dados não podem ser compartilhados e para tarefas instáveis ​​que precisam ser descarregadas sem afetar o processo.
  3. Melhor eficiência executando processos de execução longa que raramente usam grandes extensões com memória ideal.
  4. Segurança do aplicativo, restringindo o acesso direto ao código em execução em um aplicativo a partir do código ou dos recursos de outro aplicativo.
  5. Controle de segurança especificando detalhes de configuração para cada domínio de aplicativo.

Techopedia explica o domínio do aplicativo

O domínio do aplicativo difere na maneira como o CLR carrega e executa vários aplicativos .NET em um único processo. Não permite acesso direto à memória dos aplicativos carregados. É gerenciado pelo CLR do .NET Framework, enquanto um processo é gerenciado pelo sistema operacional. O CLR fornece isolamento de falha entre domínios de aplicativo com menos sobrecarga do que processos, devido ao seu recurso inerente à segurança de tipo verificável do código gerenciado. Além disso, vários threads podem residir em um domínio de aplicativo, eles são livres para cruzar os limites do domínio de aplicativo.


Por exemplo, o ASP.NET é um host de tempo de execução que cria vários domínios de aplicativo para cada usuário que acessa um site. Eles também podem ser criados e configurados para aplicativos que precisam isolar código ou carregar extensões apenas enquanto os utilizam. Esse fato torna os domínios de aplicativos úteis em situações em que plug-ins e outros códigos não confiáveis ​​são usados. Eles também são úteis para minimizar o conjunto de aplicativos que usam DLLs grandes.


Para habilitar a comunicação entre objetos em diferentes domínios de aplicativo, um dos três tipos a seguir é usado:

  1. Marshal por valor: cópia completa do objeto passado para o domínio do aplicativo de chamada. Isso é usado quando o estado do objeto pode ser movido por razões de desempenho.
  2. Marshal-By-Reference-Reference (MBR): Um proxy do objeto é passado para o cliente; usado quando o estado do objeto precisa permanecer no domínio do aplicativo.
  3. Vinculado ao contexto: objeto MBR usado entre domínios ou dentro do contexto de seu próprio domínio de aplicativo.
Esta definição foi escrita no contexto do .NET
O que é um domínio de aplicativo no .net? - o que é techopedia