Comparteix a través de


Clase ControlBuilderInterceptor

La clase ControlBuilderInterceptor permite personalizar o controlar el proceso de compilación.

Sintaxis

internal class ControlBuilderInterceptor

Advertencia

La clase ControlBuilderInterceptor es interna y no está pensada para usarse directamente en el código.

Como se describe en la sección Comentarios, se puede comprobar la existencia de este tipo para determinar si la compatibilidad con el tipo interceptor está presente. Microsoft no admite el uso de esta clase en una aplicación de producción bajo ninguna circunstancia.

Comentarios

En .NET Framework 2.0 y .NET Framework 3.5, las actualizaciones de agosto de 2020 agregaron compatibilidad para usar un tipo de interceptor para personalizar o controlar el proceso de compilación. Puedes determinar si esta compatibilidad está presente mediante Type.GetType() para comprobar la existencia del tipo ControlBuilderInterceptor, como se muestra en el código siguiente.

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

Si el valor devuelto no es NULL, la compatibilidad con el interceptor está presente. Si el valor devuelto es null, o si se produce una excepción, las actualizaciones de agosto de 2020 no se han instalado y la compatibilidad con el interceptor no está presente.

Si la compatibilidad con el interceptor está presente, puede escribir y registrar un tipo de interceptor que interactuará con el proceso de compilación exactamente de la misma manera que ControlBuilderInterceptor en versiones posteriores de .NET Framework. En .NET Framework 2.0 y .NET Framework 3.5, el tipo de interceptor puede ser cualquier clase que cumpla los siguientes requisitos:

Registra el tipo de interceptor mediante la aspnet:20ControlBuilderInterceptor clave de ASP.NET configuración de la aplicación (<appSettings>). Esta configuración de la aplicación debe figurar en el archivo web.config de tu ordenador o de la aplicación. Especifica el tipo de interceptor mediante su nombre de tipo calificado para ensamblados. En el ejemplo siguiente se muestra cómo registrar un tipo de interceptor denominado Fabrikam.Interceptor.

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

Para recuperar el nombre completo de ensamblado de un tipo, usa la propiedad Type.AssemblyQualifiedName, tal y como se muestra en el código siguiente.

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

Cuando la compatibilidad con el interceptor está presente, el proceso de compilación interactúa con el tipo enumerado de la manera descrita anteriormente. Cuando la compatibilidad con el interceptor no está presente, se omite la configuración de la aplicación y no tiene ningún efecto.

Requisitos

Namespace: System.Web.Compilation

Ensamblado: System.Web (en System.Web.dll)

Versiones de .NET Framework: 3.5, 2.0