memberInfoCacheCreation MDA
O memberInfoCacheCreation Assistente de depuração gerenciada (MDA) é ativado quando uma MemberInfo cache é criado. Esta é uma forte indicação de um programa que está fazendo uso de recursos de reflexão cara de recurso.
Sintomas
Um programa de trabalho conjunto aumenta, porque o programa está usando a reflexão cara de recurso.
Causa
As operações de reflexão que envolvem MemberInfo objetos são considerados recursos caros porque eles devem ler metadados armazenados em páginas cold e em geral eles indicam que o programa está usando algum tipo de cenário de ligação tardia.
Resolução
Você pode determinar onde reflexão está sendo usado no seu programa, permitindo que este MDA e executando o seu código em um depurador ou anexando-se com um depurador quando o MDA é ativado. Em um depurador, você obterá um rastreamento de pilha, mostrando onde o MemberInfo cache foi criado e a partir daí, você pode determinar onde o programa está usando reflexão.
A resolução depende dos objetivos do código. Este MDA alerta que o programa tiver um cenário de ligação tardia. Convém para determinar se você pode substituir um cenário de early bound ou considerar o desempenho do cenário de limite atrasado.
Efeito sobre o tempo de execução.
Este MDA é ativado para cada MemberInfo cache é criado. O impacto de desempenho é insignificante.
Saída
O MDA gera uma mensagem indicando que o MemberInfo cache foi criado. Use um depurador para obter um rastreamento de pilha, mostrando onde seu programa usando a reflexão.
Configuração
<mdaConfig>
<assistants>
<memberInfoCacheCreation/>
</assistants>
</mdaConfig>
Exemplo
O código de exemplo ativará a memberInfoCacheCreation MDA.
using System;
public class Exe
{
public static void Main()
{
typeof(object).GetMethods();
}
}