Compartilhar via


Classe ControlBuilderInterceptor

A classe ControlBuilderInterceptor permite que o processo de compilação seja personalizado ou controlado.

Syntax

internal class ControlBuilderInterceptor

Aviso

A classe ControlBuilderInterceptor é interna e não deve ser usada diretamente no código.

Conforme descrito na seção Comentários, a existência desse tipo pode ser verificada para determinar se o suporte ao tipo de interceptador está presente. A Microsoft não dá suporte a qualquer outro uso dessa classe em um aplicativo de produção em nenhuma circunstância.

Comentários

No .NET Framework 2.0 e no .NET Framework 3.5, as atualizações de agosto de 2020 adicionaram suporte ao uso de um tipo de interceptador para personalizar ou controlar o processo de compilação. Você pode determinar se esse suporte está presente usando Type.GetType() para verificar a existência do tipo ControlBuilderInterceptor, conforme demonstrado no código a seguir.

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

Se o valor retornado não for nulo, o suporte ao interceptador estará presente. Se o valor retornado for null, ou se uma exceção for lançada, as atualizações de agosto de 2020 não foram instaladas e o suporte do interceptador estará ausente.

Se o suporte ao interceptador estiver presente, você poderá gravar e registrar um tipo de interceptador que interagirá com o processo de compilação exatamente da mesma maneira com que ControlBuilderInterceptor interage em versões posteriores do .NET Framework. No .NET Framework 2.0 e no .NET Framework 3.5, o tipo de interceptador pode ser qualquer classe que atenda aos seguintes requisitos:

Registre o tipo de interceptador usando a chave aspnet:20ControlBuilderInterceptor nas configurações do aplicativo ASP.NET (<appSettings>). Essa configuração de aplicativo deve estar listada no arquivo web.config de seu computador ou aplicativo. Especifique o tipo de interceptador usando seu nome de tipo qualificado pelo assembly. O exemplo a seguir mostra como registrar um tipo de interceptador chamado 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 o nome de um tipo qualificado pelo assembly, use a propriedade Type.AssemblyQualifiedName, conforme demonstrado no código a seguir.

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

Quando o suporte ao interceptador está presente, o processo de compilação interage com o tipo listado da maneira descrita acima. Quando o suporte ao interceptador está ausente, a configuração do aplicativo será ignorada e não terá efeito.

Requisitos

Namespace: System.Web.Compilation

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

Versões do .NET Framework: 3.5, 2.0