Condividi tramite


Classe ControlBuilderInterceptor

La classe ControlBuilderInterceptor consente di personalizzare o controllare il processo di compilazione.

Sintassi

internal class ControlBuilderInterceptor

Avviso

La classe ControlBuilderInterceptor è interna e non è progettata per essere usata direttamente nel codice.

Come descritto nella sezione Osservazioni, è possibile verificare l'esistenza di questo tipo per determinare se è presente il supporto del tipo di intercettore. Microsoft non supporta qualsiasi altro uso di questa classe in un'applicazione di produzione in alcuna circostanza.

Osservazioni:

In .NET Framework 2.0 e .NET Framework 3.5, gli aggiornamenti di agosto 2020 hanno aggiunto il supporto per l'uso di un tipo di intercettore per personalizzare o controllare il processo di compilazione. È possibile determinare se questo supporto è presente usando Type.GetType() per verificare l'esistenza del tipo ControlBuilderInterceptor, come illustrato nel codice seguente.

Type type = Type.GetType("System.Web.Compilation.ControlBuilderInterceptor, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a");

Se il valore restituito è diverso da Null, è presente il supporto dell'intercettore. Se il valore restituito è null o se viene generata un'eccezione, gli aggiornamenti di agosto 2020 non sono stati installati e il supporto dell'intercettore è assente.

Se è presente il supporto dell'intercettore, è possibile scrivere e registrare un tipo di intercettatore che interagirà con il processo di compilazione esattamente come ControlBuilderInterceptor nelle versioni successive di .NET Framework. In .NET Framework 2.0 e .NET Framework 3.5 il tipo di intercettore può essere qualsiasi classe che soddisfi i requisiti seguenti:

Registrare il tipo di intercettore usando la chiave aspnet:20ControlBuilderInterceptor nelle impostazioni applicazione di ASP.NET (<appSettings>). Questa impostazione dell'applicazione deve essere elencata nel computer o nel file web.config dell'applicazione. Specificare il tipo di intercettore usando il nome del tipo qualificato dall'assembly. Nell'esempio seguente viene illustrato come registrare un tipo di intercettore denominato Fabrikam.Interceptor.

<configuration>
  ...
  <appSettings>
    ...
    <add key="aspnet:20ControlBuilderInterceptor"
         value="Fabrikam.Interceptor, Fabrikam, Version=1.0.0.0, Culture=neutral, PublicKeyToken=2b3831f2f2b744f7" />
  </appSettings>
</configuration>

Per recuperare il nome completo dell'assembly di un tipo, utilizzare la proprietà Type.AssemblyQualifiedName, come illustrato nel codice seguente.

string assemblyQualifiedName = typeof(Fabrikam.Interceptor).AssemblyQualifiedName;

Quando è presente il supporto dell'intercettore, il processo di compilazione interagisce con il tipo elencato nel modo descritto in precedenza. Quando il supporto dell'intercettore è assente, l'impostazione dell'applicazione viene ignorata e non ha alcun effetto.

Requisiti

Namespace: System.Web.Compilation

Assembly: System.Web (in System.Web.dll)

Versioni di .NET Framework: 3.5, 2.0