Freigeben über


ControlBuilderInterceptor-Klasse

Mit der ControlBuilderInterceptor-Klasse kann der Kompilierungsprozess angepasst oder gesteuert werden.

Syntax

internal class ControlBuilderInterceptor

Warnung

Die ControlBuilderInterceptor Klasse ist intern und sollte nicht direkt in Ihrem Code verwendet werden.

Wie im Abschnitt "Hinweise" beschrieben, kann das Vorhandensein dieses Typs überprüft werden, um festzustellen, ob die Unterstützung des Interceptortyps vorhanden ist. Microsoft unterstützt unter keinen Umständen eine andere Verwendung dieser Klasse in einer Produktionsanwendung.

Bemerkungen

In .NET Framework 2.0 und .NET Framework 3.5 August 2020 Updates Unterstützung für die Verwendung eines Interceptor-Typs zum Anpassen oder Steuern des Kompilierungsprozesses hinzugefügt. Sie können ermitteln, ob diese Unterstützung vorhanden ist, indem Sie Type.GetType() verwenden, um das Vorhandensein des ControlBuilderInterceptor Typs zu überprüfen, wie im folgenden Code gezeigt.

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, ist die Interceptorunterstützung vorhanden. Wenn der Rückgabewert nullist oder eine Ausnahme ausgelöst wird, wurden die Updates vom August 2020 nicht installiert, und die Interceptor-Unterstützung ist nicht vorhanden.

Wenn die Interceptor-Unterstützung vorhanden ist, können Sie einen Interceptortyp schreiben und registrieren, der mit dem Kompilierungsprozess auf genau die gleiche 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 ASP.NET Anwendungseinstellungen (<appSettings>). Diese Anwendungseinstellung muss auf Ihrem Computer oder ihrer Anwendung web.config Datei aufgeführt werden. Geben Sie den Interceptortyp mithilfe des assemblyqualifizierten Typnamens an. Das folgende Beispiel zeigt, wie ein Interceptortyp namens Fabrikam.Interceptorregistriert wird.

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

Um den assemblyqualifizierten Namen eines Typs abzurufen, verwenden Sie die Type.AssemblyQualifiedName-Eigenschaft, wie im folgenden Code veranschaulicht.

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

Wenn die Interceptor-Unterstützung vorhanden ist, interagiert der Kompilierungsprozess mit dem aufgelisteten Typ in der oben beschriebenen Weise. Wenn die Interceptorunterstützung nicht vorhanden ist, wird die Anwendungseinstellung ignoriert und hat keine Auswirkung.

Anforderungen

Namespace: System.Web.Compilation

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

.NET Framework-Versionen: 3.5, 2.0