Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Kelas ControlBuilderInterceptor memungkinkan proses kompilasi disesuaikan atau dikontrol.
Sintaksis
internal class ControlBuilderInterceptor
Peringatan
Kelas ControlBuilderInterceptor bersifat internal dan tidak dimaksudkan untuk digunakan langsung dalam kode Anda.
Seperti yang dijelaskan di bagian Keterangan, keberadaan jenis ini dapat diperiksa untuk menentukan apakah dukungan jenis pencegat ada. Microsoft tidak mendukung penggunaan lain dari kelas ini dalam aplikasi produksi dalam keadaan apa pun.
Komentar
Dalam .NET Framework 2.0 dan .NET Framework 3.5, Agustus 2020 menambahkan dukungan untuk menggunakan jenis pencegat untuk menyesuaikan atau mengontrol proses kompilasi. Anda dapat menentukan apakah dukungan ini ada dengan menggunakan Type.GetType() untuk memeriksa keberadaan jenis ControlBuilderInterceptor, seperti yang ditunjukkan dalam kode berikut.
Type type = Type.GetType("System.Web.Compilation.ControlBuilderInterceptor, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a");
Jika nilai yang dikembalikan bukan null, maka dukungan pencegat ada. Jika nilai pengembalian null, atau jika pengecualian dilemparkan, pembaruan Agustus 2020 belum diinstal, dan dukungan pencegat tidak ada.
Jika dukungan pencegat ada, Anda dapat menulis dan mendaftarkan jenis pencegat yang akan berinteraksi dengan proses kompilasi dengan cara yang sama persis seperti yang ControlBuilderInterceptor lakukan pada versi .NET Framework yang lebih baru. Dalam .NET Framework 2.0 dan .NET Framework 3.5, jenis pencegat dapat berupa kelas apa pun yang memenuhi persyaratan berikut:
- Memiliki konstruktor publik tanpa parameter.
- Memiliki metode publik dan non-statis bernama
PreControlBuilderInitdanOnProcessGeneratedCodeyang memiliki tanda tangan dan semantik yang sama dengan metode PreControlBuilderInit(ControlBuilder, TemplateParser, ControlBuilder, Type, String, String, IDictionary, IDictionary) dan OnProcessGeneratedCode(ControlBuilder, CodeCompileUnit, CodeTypeDeclaration, CodeTypeDeclaration, CodeMemberMethod, CodeMemberMethod, IDictionary), yang ada di versi .NET Framework yang lebih baru.
Daftarkan jenis pencegat dengan menggunakan kunci aspnet:20ControlBuilderInterceptor di pengaturan aplikasi ASP.NET (<appSettings>). Pengaturan aplikasi ini harus tercantum dalam file web.config komputer atau aplikasi Anda. Tentukan jenis pencegat dengan menggunakan nama jenis yang memenuhi syarat rakitannya. Contoh berikut menunjukkan cara mendaftarkan jenis pencegat bernama Fabrikam.Interceptor.
<configuration>
...
<appSettings>
...
<add key="aspnet:20ControlBuilderInterceptor"
value="Fabrikam.Interceptor, Fabrikam, Version=1.0.0.0, Culture=neutral, PublicKeyToken=2b3831f2f2b744f7" />
</appSettings>
</configuration>
Untuk mengambil nama jenis yang memenuhi syarat rakitan, gunakan properti Type.AssemblyQualifiedName, seperti yang ditunjukkan dalam kode berikut.
string assemblyQualifiedName = typeof(Fabrikam.Interceptor).AssemblyQualifiedName;
Ketika dukungan pencegat ada, proses kompilasi berinteraksi dengan jenis yang tercantum dengan cara yang dijelaskan di atas. Ketika dukungan pencegat tidak ada, pengaturan aplikasi diabaikan dan tidak berpengaruh.
Persyaratan
Namespace: System.Web.Compilation
Assembly: System.Web (dalam System.Web.dll)
versi .NET Framework: 3.5, 2.0