Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
ControlBuilderInterceptor sınıfı, derleme işleminin özelleştirilmesine veya denetlenmesini sağlar.
Sözdizimi
internal class ControlBuilderInterceptor
Uyarı
ControlBuilderInterceptor sınıfı iç sınıftır 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 bir kesme noktası türü kullanma desteği ekledi. Aşağıdaki kodda gösterildiği gibi, ControlBuilderInterceptor türünün varlığını denetlemek için Type.GetType() kullanarak bu desteğin 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 nullise 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 ControlBuilderInterceptor olduğu gibi 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.
- .NET Framework'ün sonraki sürümlerinde bulunan PreControlBuilderInit(ControlBuilder, TemplateParser, ControlBuilder, Type, String, String, IDictionary, IDictionary) ve OnProcessGeneratedCode(ControlBuilder, CodeCompileUnit, CodeTypeDeclaration, CodeTypeDeclaration, CodeMemberMethod, CodeMemberMethod, IDictionary) yöntemleriyle aynı imzaya ve semantike sahip
PreControlBuilderInitveOnProcessGeneratedCodeadlı genel, statik olmayan yöntemlere sahiptir.
ASP.NET uygulama ayarlarında (<appSettings>) aspnet:20ControlBuilderInterceptor anahtarını kullanarak 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, Fabrikam.Interceptoradlı 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 Type.AssemblyQualifiedName özelliğini kullanın.
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.
Gereksinim -leri
Ad Alanı: System.Web.Compilation
Derlemesi: System.Web (System.Web.dll)
.NET Framework sürümleri : 3.5, 2.0