ControlBuilderInterceptor sınıfı
sınıfı, ControlBuilderInterceptor
derleme işleminin özelleştirilmesine veya denetlenmesini sağlar.
Sözdizimi
internal class ControlBuilderInterceptor
Uyarı
ControlBuilderInterceptor
sınıfı dahilidir ve doğrudan kodunuzda kullanılması amaçlanmamıştır.
Açıklamalar bölümünde açıklandığı gibi, kesme noktası türü desteğinin mevcut olup olmadığını belirlemek için bu türün varlığı denetlenebilir. Microsoft, bu sınıfın herhangi bir koşulda üretim uygulamasında kullanılmasını desteklemez.
Açıklamalar
.NET Framework 2.0 ve .NET Framework 3.5'te Ağustos 2020 güncelleştirmeleri, derleme işlemini özelleştirmek veya denetlemek için kesme noktası türü kullanma desteği ekledi. Aşağıdaki kodda gösterildiği gibi, türün varlığını denetlemek için kullanarak Type.GetType() bu desteğin ControlBuilderInterceptor
mevcut olup olmadığını belirleyebilirsiniz.
Type type = Type.GetType("System.Web.Compilation.ControlBuilderInterceptor, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a");
Dönüş değeri null değilse, kesme noktası desteği vardır. Dönüş değeri ise null
veya bir özel durum oluşursa Ağustos 2020 güncelleştirmeleri yüklenmemiştir ve kesme noktası desteği yoktur.
Kesme noktası desteği varsa, .NET Framework'ün sonraki sürümlerinde olduğu gibi ControlBuilderInterceptor derleme işlemiyle etkileşim kuracak bir kesme noktası türü yazabilir ve kaydedebilirsiniz. .NET Framework 2.0 ve .NET Framework 3.5'te, kesme noktası türü aşağıdaki gereksinimleri karşılayan herhangi bir sınıf olabilir:
- Ortak, parametresiz bir oluşturucuya sahiptir.
- adlı
PreControlBuilderInit
veOnProcessGeneratedCode
.NET Framework'ün sonraki sürümlerinde bulunan ve OnProcessGeneratedCode(ControlBuilder, CodeCompileUnit, CodeTypeDeclaration, CodeTypeDeclaration, CodeMemberMethod, CodeMemberMethod, IDictionary) yöntemleriyle PreControlBuilderInit(ControlBuilder, TemplateParser, ControlBuilder, Type, String, String, IDictionary, IDictionary) aynı imzaya ve semantiğine sahip genel, statik olmayan yöntemlere sahiptir.
ASP.NET uygulama ayarlarında (<appSettings>
) anahtarını kullanarak aspnet:20ControlBuilderInterceptor
kesme noktası türünü kaydedin. Bu uygulama ayarı, bilgisayarınız veya uygulama web.config dosyanızda listelenmelidir. Kesme noktası türünü, derleme nitelikli tür adını kullanarak belirtin. Aşağıdaki örnekte adlı Fabrikam.Interceptor
bir kesme noktası türünün nasıl kaydedilecekleri gösterilmektedir.
<configuration>
...
<appSettings>
...
<add key="aspnet:20ControlBuilderInterceptor"
value="Fabrikam.Interceptor, Fabrikam, Version=1.0.0.0, Culture=neutral, PublicKeyToken=2b3831f2f2b744f7" />
</appSettings>
</configuration>
Bir türün derleme nitelikli adını almak için aşağıdaki kodda gösterildiği gibi özelliğini kullanın Type.AssemblyQualifiedName .
string assemblyQualifiedName = typeof(Fabrikam.Interceptor).AssemblyQualifiedName;
Kesme noktası desteği mevcut olduğunda, derleme işlemi yukarıda açıklanan şekilde listelenen türle etkileşim kurar. Kesme noktası desteği olmadığında, uygulama ayarı yoksayılır ve hiçbir etkisi olmaz.
Gereksinimler
Ad Alanı: System.Web.Compilation
Derleme: System.Web (System.Web.dll içinde)
.NET Framework sürümleri: 3.5, 2.0
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin