Aracılığıyla paylaş


memberInfoCacheCreation MDA

Not

Bu makale .NET Framework'e özgüdür. .NET 6 ve sonraki sürümleri de dahil olmak üzere daha yeni .NET uygulamaları için geçerli değildir.

Yönetilen memberInfoCacheCreation hata ayıklama yardımcısı (MDA), önbellek MemberInfo oluşturulduğunda etkinleştirilir. Bu, kaynak açısından pahalı yansıma özelliklerinden yararlanan bir programın güçlü bir göstergesidir.

Belirtiler

Program kaynak pahalı yansıma kullandığından bir programın çalışma kümesi artar.

Neden

Nesneleri içeren MemberInfo yansıma işlemleri, soğuk sayfalarda depolanan meta verileri okumaları gerektiğinden ve genel olarak programın bir tür geç bağlı senaryo kullandığını belirttiğinden pahalı olarak kabul edilir.

Çözüm

Bu MDA'yi etkinleştirip kodunuzu bir hata ayıklayıcıda çalıştırarak veya MDA etkinleştirildiğinde hata ayıklayıcıyla ekleyerek programınızda yansımanın nerede kullanıldığını belirleyebilirsiniz. Bir hata ayıklayıcısı altında önbelleğin nerede oluşturulduğunu MemberInfo gösteren bir yığın izlemesi alırsınız ve buradan programınızın yansımayı nerede kullandığını belirleyebilirsiniz.

Çözüm, kodun hedeflerine bağlıdır. Bu MDA, programınızın geç bağlı bir senaryoya sahip olduğu konusunda sizi uyarır. Erken bağlanan bir senaryoyu değiştirip değiştirebileceğinizi veya geç bağlı senaryonun performansını göz önünde bulundurabileceğinizi belirlemek isteyebilirsiniz.

Çalışma Zamanı üzerindeki etkisi

Bu MDA, oluşturulan her MemberInfo önbellek için etkinleştirilir. Performans etkisi göz ardı edilebilir.

Çıktı

MDA, önbelleğin oluşturulduğunu MemberInfo belirten bir ileti oluşturur. Programınızın yansımayı nerede kullandığını gösteren bir yığın izlemesi almak için hata ayıklayıcı kullanın.

Yapılandırma

<mdaConfig>
  <assistants>
    <memberInfoCacheCreation/>
  </assistants>
</mdaConfig>

Örnek

Bu örnek kod MDA'yi memberInfoCacheCreation etkinleştirir.

using System;

public class Exe
{
    public static void Main()
    {
        typeof(object).GetMethods();
    }
}

Ayrıca bkz.