Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Класс 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 тип перехватчика может быть любым классом, отвечающим следующим требованиям:
- Имеет общедоступный конструктор без параметров.
- Имеет открытые, нестатические методы с именем
PreControlBuilderInitиOnProcessGeneratedCode, имеющие ту же сигнатуру и семантику, что и методы PreControlBuilderInit(ControlBuilder, TemplateParser, ControlBuilder, Type, String, String, IDictionary, IDictionary) и OnProcessGeneratedCode(ControlBuilder, CodeCompileUnit, CodeTypeDeclaration, CodeTypeDeclaration, CodeMemberMethod, CodeMemberMethod, IDictionary), которые существуют в более поздних версиях .NET Framework.
Зарегистрируйте тип перехватчика с помощью ключа 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