Freigeben über


ControlBuilderInterceptor-Klasse

Die ControlBuilderInterceptor-Klasse ermöglicht das Anpassen oder Steuern des Kompiliervorgangs.

Syntax

internal class ControlBuilderInterceptor

Warnung

Die ControlBuilderInterceptor-Klasse ist eine interne Klasse und nicht für die direkte Verwendung in Ihrem Code vorgesehen.

Wie im Abschnitt „Hinweise“ beschrieben, kann das Vorhandensein dieses Typs überprüft und somit festgestellt werden, ob Interceptortypen unterstützt werden. Jede andere Verwendung dieser Klasse in einer Produktionsanwendung wird von Microsoft unter keinen Umständen unterstützt.

Bemerkungen

In .NET Framework 2.0 und .NET Framework 3.5 wurde in den Updates von August 2020 Unterstützung für die Verwendung eines Interceptortyps zum Anpassen oder Steuern des Kompilierungsprozesses hinzugefügt. Sie können ermitteln, ob diese Unterstützung vorliegt, indem Sie das Vorhandensein des ControlBuilderInterceptor-Typs anhand von Type.GetType() überprüfen, wie im folgenden Code veranschaulicht.

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

Wenn der Rückgabewert ungleich NULL ist, werden Interceptortypen unterstützt. Wenn der Rückgabewert null ist oder eine Ausnahme ausgelöst wird, wurden die Updates von August 2020 nicht installiert, und es liegt keine Interceptorunterstützung vor.

Wenn Interceptorunterstützung vorhanden ist, können Sie einen Interceptortyp schreiben und registrieren, der mit dem Kompilierungsprozess auf dieselbe Weise interagiert wie ControlBuilderInterceptor in späteren Versionen von .NET Framework. In .NET Framework 2.0 und .NET Framework 3.5 kann der Interceptortyp eine beliebige Klasse sein, die die folgenden Anforderungen erfüllt:

Registrieren Sie den Interceptortyp mithilfe des aspnet:20ControlBuilderInterceptor-Schlüssels in den ASP.NET-Anwendungseinstellungen (<appSettings>). Diese Anwendungseinstellung muss in der Datei web.config für Ihren Computer oder Ihre Anwendung aufgeführt sein. Geben Sie den Interceptortyp anhand des Typnamens mit Assemblyqualifikation an. Das folgende Beispiel zeigt, wie Sie einen Interceptortyp namens Fabrikam.Interceptor registrieren.

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

Verwenden Sie zum Abrufen des Typnamens mit Assemblyqualifikation die Type.AssemblyQualifiedName-Eigenschaft, wie im folgenden Code veranschaulicht.

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

Wenn Interceptorunterstützung vorhanden ist, interagiert der Kompilierungsprozess mit dem aufgeführten Typ in der oben beschriebenen Weise. Wenn keine Interceptorunterstützung vorhanden ist, wird die Anwendungseinstellung ignoriert und hat keine Auswirkungen.

Anforderungen

Namespace: System.Web.Compilation

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

.NET Framework-Versionen: 3.5, 2.0