Поделиться через


Класс ControlBuilderInterceptor

Класс ControlBuilderInterceptor позволяет настраивать или контролировать процесс компиляции.

Синтаксис

internal class ControlBuilderInterceptor

Предупреждение

Класс ControlBuilderInterceptor является внутренним и не предназначен для использования непосредственно в коде.

Как описано в разделе "Примечания", можно проверить наличие этого типа, чтобы определить, присутствует ли поддержка типа перехватчика. Корпорация Майкрософт не поддерживает любое другое использование этого класса в рабочем приложении в любом случае.

Замечания

В .NET Framework 2.0 и .NET Framework 3.5 обновления августа 202 0 г. добавили поддержку использования типа перехватчика для настройки или управления процессом компиляции. Вы можете определить, присутствует ли эта поддержка с помощью Type.GetType() для проверки наличия типа ControlBuilderInterceptor, как показано в следующем коде.

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

Если возвращаемое значение не равно null, то поддержка перехватчика присутствует. Если возвращаемое значение nullили возникает исключение, обновление за август 2020 г. не установлено, а поддержка перехватчика отсутствует.

Если поддержка перехватчика присутствует, можно написать и зарегистрировать тип перехватчика, который будет взаимодействовать с процессом компиляции точно так же, как ControlBuilderInterceptor выполняется в более поздних версиях .NET Framework. В .NET Framework 2.0 и .NET Framework 3.5 тип перехватчика может быть любым классом, отвечающим следующим требованиям:

Зарегистрируйте тип перехватчика с помощью ключа aspnet:20ControlBuilderInterceptor в параметрах приложения ASP.NET (<appSettings>). Этот параметр приложения должен быть указан в файле web.config компьютера или приложения. Укажите тип перехватчика с помощью имени типа, указанного в сборке. В следующем примере показано, как зарегистрировать тип перехватчика с именем Fabrikam.Interceptor.

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

Чтобы получить полное имя сборки типа, используйте свойство Type.AssemblyQualifiedName, как показано в следующем коде.

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

При наличии поддержки перехватчика процесс компиляции взаимодействует с указанным типом таким образом, как описано выше. Если поддержка перехватчика отсутствует, параметр приложения игнорируется и не влияет.

Требования

пространство имен : System.Web.Компиляция

сборка : System.Web (в System.Web.dll)

версии .NET Framework: 3.5, 2.0