Desempenho de suplemento
Suplemento do desempenho pode ser melhorado usando carregamento de domínio neutro para o contrato de pipeline.A ativação pode ser melhorada gerando nativo imagens para segmentos de pipeline.
Carregamento de domínio neutro melhora chamadas entre domínios
Quando um suplemento é carregado em um domínio de aplicativo separado, chamadas entre o host e o suplemento são empacotadas em limites de domínio do aplicativo pelo pipeline.O desempenho dessas chamadas entre domínios é uma melhora significativa se o assembly que contém o contrato for carregado sistema autônomo domínio-neutral.
O assembly deve ter um nome forte e deve ser instalado no cache de assembly global, e deve ter o LoaderOptimizationAttribute com um a LoaderOptimization.MultiDomainHost sinalizar ou o LoaderOptimization.MultiDomain sinalizar.
Evitar o compilador JIT melhora ativação
O compilador (JIT) just-in-time substancialmente adiciona a sobrecarga de desempenho da ativação do suplemento, especialmente quando o suplemento é ativado em um domínio do aplicativo separado.Para evitar o uso do compilador JIT, siga estas diretrizes:
Forneça o pipeline nomes de assemblies de alta segurança e instale-os no cache global de assemblies.
Use o Nativo Gerador de Imagem (Ngen.exe) Para criar imagens nativas para assemblies do pipeline.
Certifique-se de que o assembly que contém o contrato é carregado sistema autônomo domínio-neutral, conforme descrito na seção anterior.
Observação: Esse ponto é extremamente importante.Se o contrato não será carregado sistema autônomo domínio-neutral, nenhum do suplemento-componentes do lado podem usar imagens nativas.
Aplicar o LoaderOptimizationAttribute ao assembly com um host a MultiDomainHost sinalizar ou o MultiDomain sinalizar, para permitir imagens nativas da .NET Framework conjuntos de módulos podem ser compartilhados entre domínios de aplicativo.
Observação: Este p melhoria enho não será podem ser detectada quando executando sob o depurador, porque o processo de hospedagem (vshost.exe) não está definido para o assembly de compartilhamento.Você pode desabilitar o processo de hospedagem, mas isso não é recomendado.Não deve ser medido desempenho quando executando sob o depurador .
Consulte também
Conceitos
Domínios de Aplicativos e Assemblies