Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A classe ControlBuilderInterceptor permite que o processo de compilação seja personalizado ou controlado.
Sintaxe
internal class ControlBuilderInterceptor
Aviso
A classe ControlBuilderInterceptor é interna e não deve ser usada diretamente em seu 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 nenhum outro uso dessa classe em um aplicativo de produção em nenhuma circunstância.
Observações
No .NET Framework 2.0 e no .NET Framework 3.5, o agosto de 2020 atualizações adicionou suporte para usar 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 do interceptor estará presente. Se o valor retornado for nullou se uma exceção for lançada, as atualizações de agosto de 2020 não foram instaladas e o suporte ao interceptor estará ausente.
Se o suporte ao interceptor estiver presente, você poderá escrever e registrar um tipo de interceptador que interagirá com o processo de compilação exatamente da mesma maneira que ControlBuilderInterceptor faz 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:
- Tem um construtor público sem parâmetros.
- Tem métodos públicos e não estáticos chamados
PreControlBuilderIniteOnProcessGeneratedCodeque têm a mesma assinatura e semântica que os métodos PreControlBuilderInit(ControlBuilder, TemplateParser, ControlBuilder, Type, String, String, IDictionary, IDictionary) e OnProcessGeneratedCode(ControlBuilder, CodeCompileUnit, CodeTypeDeclaration, CodeTypeDeclaration, CodeMemberMethod, CodeMemberMethod, IDictionary), que existem em versões posteriores do .NET Framework.
Registre o tipo de interceptador usando a chave aspnet:20ControlBuilderInterceptor em ASP.NET configurações do aplicativo (<appSettings>). Essa configuração de aplicativo deve ser listada em seu computador ou aplicativo web.config arquivo. Especifique o tipo de interceptador usando seu nome de tipo qualificado para 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 qualificado para assembly de um tipo, use a propriedade Type.AssemblyQualifiedName, conforme demonstrado no código a seguir.
string assemblyQualifiedName = typeof(Fabrikam.Interceptor).AssemblyQualifiedName;
Quando o suporte ao interceptor está presente, o processo de compilação interage com o tipo listado da maneira descrita acima. Quando o suporte ao interceptor está ausente, a configuração do aplicativo é ignorada e não tem efeito.
Requisitos
Namespace : System.Web.Compilation
assembly : System.Web (em System.Web.dll)
versões do .NET Framework: 3.5, 2.0