ControlBuilderInterceptor-klass
Med ControlBuilderInterceptor
klassen kan kompileringsprocessen anpassas eller kontrolleras.
Syntax
internal class ControlBuilderInterceptor
Varning
Klassen ControlBuilderInterceptor
är intern och är inte avsedd att användas direkt i koden.
Som beskrivs i avsnittet Anmärkningar kan förekomsten av den här typen kontrolleras för att avgöra om stöd för interceptor-typ finns. Microsoft stöder inte någon annan användning av den här klassen i ett produktionsprogram under några omständigheter.
Kommentarer
I .NET Framework 2.0 och .NET Framework 3.5 har uppdateringarna i augusti 2020 lagt till stöd för att använda en interceptortyp för att anpassa eller kontrollera kompileringsprocessen. Du kan avgöra om det här stödet finns med för Type.GetType() att kontrollera förekomsten av ControlBuilderInterceptor
typen, vilket visas i följande kod.
Type type = Type.GetType("System.Web.Compilation.ControlBuilderInterceptor, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a");
Om returvärdet inte är null finns stöd för interceptor. Om returvärdet är null
, eller om ett undantag utlöses, har uppdateringarna från augusti 2020 inte installerats och stöd för interceptor saknas.
Om stöd för interceptor finns kan du skriva och registrera en interceptor-typ som interagerar med kompileringsprocessen på exakt samma sätt som ControlBuilderInterceptor i senare versioner av .NET Framework. I .NET Framework 2.0 och .NET Framework 3.5 kan interceptortypen vara vilken klass som helst som uppfyller följande krav:
- Har en offentlig, parameterlös konstruktor.
- Har offentliga, icke-statiska metoder med namnet
PreControlBuilderInit
ochOnProcessGeneratedCode
som har samma signatur och semantik som PreControlBuilderInit(ControlBuilder, TemplateParser, ControlBuilder, Type, String, String, IDictionary, IDictionary) metoderna och OnProcessGeneratedCode(ControlBuilder, CodeCompileUnit, CodeTypeDeclaration, CodeTypeDeclaration, CodeMemberMethod, CodeMemberMethod, IDictionary) som finns i senare versioner av .NET Framework.
Registrera interceptor-typen med hjälp aspnet:20ControlBuilderInterceptor
av nyckeln i ASP.NET programinställningar (<appSettings>
). Den här programinställningen måste anges i din dator- eller application web.config-fil . Ange typen av interceptor med hjälp av dess sammansättningskvalificerade typnamn. I följande exempel visas hur du registrerar en interceptor-typ med namnet Fabrikam.Interceptor
.
<configuration>
...
<appSettings>
...
<add key="aspnet:20ControlBuilderInterceptor"
value="Fabrikam.Interceptor, Fabrikam, Version=1.0.0.0, Culture=neutral, PublicKeyToken=2b3831f2f2b744f7" />
</appSettings>
</configuration>
Om du vill hämta det sammansättningskvalificerade namnet på en typ använder du Type.AssemblyQualifiedName egenskapen, vilket visas i följande kod.
string assemblyQualifiedName = typeof(Fabrikam.Interceptor).AssemblyQualifiedName;
När stöd för interceptor finns interagerar kompileringsprocessen med den angivna typen på det sätt som beskrivs ovan. När stöd för interceptor saknas ignoreras programinställningen och har ingen effekt.
Behov
Namnområde: System.Web.Compilation
Sammansättning: System.Web (i System.Web.dll)
.NET Framework-versioner: 3.5, 2.0