Udostępnij za pośrednictwem


ControlBuilderInterceptor, klasa

Klasa ControlBuilderInterceptor umożliwia dostosowywanie lub kontrolowanie procesu kompilacji.

Składnia

internal class ControlBuilderInterceptor

Ostrzeżenie

Klasa ControlBuilderInterceptor jest wewnętrzna i nie ma być używana bezpośrednio w kodzie.

Zgodnie z opisem w sekcji Uwagi można sprawdzić istnienie tego typu, aby określić, czy obsługa typu przechwytywania jest obecna. Firma Microsoft nie obsługuje żadnego innego użycia tej klasy w aplikacji produkcyjnej w żadnym wypadku.

Uwagi

W programach .NET Framework 2.0 i .NET Framework 3.5 sierpnia 202 0 r. dodano obsługę używania typu przechwytywania w celu dostosowania lub sterowania procesem kompilacji. Można określić, czy ta obsługa jest obecna, używając Type.GetType() w celu sprawdzenia istnienia typu ControlBuilderInterceptor, jak pokazano w poniższym kodzie.

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

Jeśli wartość zwracana ma wartość inną niż null, obsługa przechwytywania jest obecna. Jeśli wartość zwracana jest nulllub zostanie zgłoszony wyjątek, aktualizacje z sierpnia 2020 r. nie zostały zainstalowane, a obsługa przechwytywania jest nieobecna.

Jeśli obsługa przechwytywania jest obecna, można napisać i zarejestrować typ przechwytywania, który będzie współdziałać z procesem kompilacji w dokładnie taki sam sposób, jak ControlBuilderInterceptor w nowszych wersjach programu .NET Framework. W programach .NET Framework 2.0 i .NET Framework 3.5 typ przechwytywania może być dowolną klasą spełniającą następujące wymagania:

Zarejestruj typ przechwytywania przy użyciu klucza aspnet:20ControlBuilderInterceptor w ustawieniach aplikacji ASP.NET (<appSettings>). To ustawienie aplikacji musi być wymienione w pliku web.config komputera lub aplikacji. Określ typ przechwytywania przy użyciu nazwy typu kwalifikowanego przez zestaw. W poniższym przykładzie pokazano, jak zarejestrować typ przechwytywania o nazwie Fabrikam.Interceptor.

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

Aby pobrać kwalifikowaną przez zestaw nazwę typu, użyj właściwości Type.AssemblyQualifiedName, jak pokazano w poniższym kodzie.

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

Gdy obsługa przechwytywania jest obecna, proces kompilacji wchodzi w interakcję z wymienionym typem w sposób opisany powyżej. Gdy obsługa przechwytywania jest nieobecna, ustawienie aplikacji jest ignorowane i nie ma żadnego efektu.

Wymagania

Przestrzeni nazw: System.Web.Compilation

zestaw : System.Web (w System.Web.dll)

wersje programu .NET Framework: 3.5, 2.0