CompilationSection Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Определяет параметры конфигурации, используемые для поддержки инфраструктуры компиляции веб-приложений. Этот класс не наследуется.
public ref class CompilationSection sealed : System::Configuration::ConfigurationSection
public sealed class CompilationSection : System.Configuration.ConfigurationSection
type CompilationSection = class
inherit ConfigurationSection
Public NotInheritable Class CompilationSection
Inherits ConfigurationSection
- Наследование
Примеры
В этом примере показано, как указывать значения декларативно для нескольких атрибутов compilation раздела, к которым также можно обращаться в качестве членов CompilationSection класса.
В следующем примере файла конфигурации показано, как указывать значения декларативно для compilation раздела.
<system.web>
<compilation
tempDirectory=""
debug="False"
strict="False"
explicit="True"
batch="True"
batchTimeout="900"
maxBatchSize="1000"
maxBatchGeneratedFileSize="1000"
numRecompilesBeforeAppRestart="15"
defaultLanguage="vb"
targetFramework="4.0"
urlLinePragmas="False"
assemblyPostProcessorType="">
<assemblies>
<clear />
</assemblies>
<buildProviders>
<clear />
</buildProviders>
<expressionBuilders>
<clear />
</expressionBuilders>
</compilation>
</system.web>
В следующем примере кода показано, как использовать члены CompilationSection класса.
#region Using directives
using System;
using System.Collections.Generic;
using System.Text;
using System.Configuration;
using System.Web;
using System.Web.Configuration;
#endregion
namespace Samples.Aspnet.SystemWebConfiguration
{
class UsingCompilationSection
{
static void Main(string[] args)
{
try
{
// Set the path of the config file.
string configPath = "";
// Get the Web application configuration object.
Configuration config = WebConfigurationManager.OpenWebConfiguration(configPath);
// Get the section related object.
CompilationSection configSection =
(CompilationSection)config.GetSection("system.web/compilation");
// Display title and info.
Console.WriteLine("ASP.NET Configuration Info");
Console.WriteLine();
// Display Config details.
Console.WriteLine("File Path: {0}",
config.FilePath);
Console.WriteLine("Section Path: {0}",
configSection.SectionInformation.Name);
// Display Assemblies collection count.
Console.WriteLine("Assemblies Count: {0}",
configSection.Assemblies.Count);
// Display AssemblyPostProcessorType property.
Console.WriteLine("AssemblyPostProcessorType: {0}",
configSection.AssemblyPostProcessorType);
// Display Batch property.
Console.WriteLine("Batch: {0}", configSection.Batch);
// Set Batch property.
configSection.Batch = true;
// Display BatchTimeout property.
Console.WriteLine("BatchTimeout: {0}",
configSection.BatchTimeout);
// Set BatchTimeout property.
configSection.BatchTimeout = TimeSpan.FromMinutes(15);
// Display BuildProviders collection count.
Console.WriteLine("BuildProviders collection Count: {0}",
configSection.BuildProviders.Count);
// Display CodeSubDirectories collection count.
Console.WriteLine("CodeSubDirectories Count: {0}",
configSection.CodeSubDirectories.Count);
// Display Compilers collection count.
Console.WriteLine("Compilers Count: {0}",
configSection.Compilers.Count);
// Display Debug property.
Console.WriteLine("Debug: {0}",
configSection.Debug);
// Set Debug property.
configSection.Debug = false;
// Display DefaultLanguage property.
Console.WriteLine("DefaultLanguage: {0}",
configSection.DefaultLanguage);
// Set DefaultLanguage property.
configSection.DefaultLanguage = "vb";
// Display Explicit property.
Console.WriteLine("Explicit: {0}",
configSection.Explicit);
// Set Explicit property.
configSection.Explicit = true;
// Display ExpressionBuilders collection count.
Console.WriteLine("ExpressionBuilders Count: {0}",
configSection.ExpressionBuilders.Count);
// Display MaxBatchGeneratedFileSize property.
Console.WriteLine("MaxBatchGeneratedFileSize: {0}",
configSection.MaxBatchGeneratedFileSize);
// Set MaxBatchGeneratedFileSize property.
configSection.MaxBatchGeneratedFileSize = 1000;
// Display MaxBatchSize property.
Console.WriteLine("MaxBatchSize: {0}",
configSection.MaxBatchSize);
// Set MaxBatchSize property.
configSection.MaxBatchSize = 1000;
// Display NumRecompilesBeforeAppRestart property.
Console.WriteLine("NumRecompilesBeforeAppRestart: {0}",
configSection.NumRecompilesBeforeAppRestart);
// Set NumRecompilesBeforeAppRestart property.
configSection.NumRecompilesBeforeAppRestart = 15;
// Display Strict property.
Console.WriteLine("Strict: {0}",
configSection.Strict);
// Set Strict property.
configSection.Strict = false;
// Display TempDirectory property.
Console.WriteLine("TempDirectory: {0}", configSection.TempDirectory);
// Set TempDirectory property.
configSection.TempDirectory = "myTempDirectory";
// Display UrlLinePragmas property.
Console.WriteLine("UrlLinePragmas: {0}",
configSection.UrlLinePragmas);
// Set UrlLinePragmas property.
configSection.UrlLinePragmas = false;
// ExpressionBuilders Collection
int i = 1;
int j = 1;
foreach (ExpressionBuilder expressionBuilder in configSection.ExpressionBuilders)
{
Console.WriteLine();
Console.WriteLine("ExpressionBuilder {0} Details:", i);
Console.WriteLine("Type: {0}", expressionBuilder.ElementInformation.Type);
Console.WriteLine("Source: {0}", expressionBuilder.ElementInformation.Source);
Console.WriteLine("LineNumber: {0}", expressionBuilder.ElementInformation.LineNumber);
Console.WriteLine("Properties Count: {0}", expressionBuilder.ElementInformation.Properties.Count);
j = 1;
foreach (PropertyInformation propertyItem in expressionBuilder.ElementInformation.Properties)
{
Console.WriteLine("Property {0} Name: {1}", j, propertyItem.Name);
Console.WriteLine("Property {0} Value: {1}", j, propertyItem.Value);
j++;
}
i++;
}
// Update if not locked.
if (!configSection.SectionInformation.IsLocked)
{
config.Save();
Console.WriteLine("** Configuration updated.");
}
else
{
Console.WriteLine("** Could not update, section is locked.");
}
}
catch (Exception e)
{
// Unknown error.
Console.WriteLine(e.ToString());
}
// Display and wait
Console.ReadLine();
}
}
}
Imports System.Collections.Generic
Imports System.Text
Imports System.Configuration
Imports System.Web
Imports System.Web.Configuration
Namespace Samples.Aspnet.SystemWebConfiguration
Class UsingRoleManagerSection
Public Shared Sub Main()
Try
' Set the path of the config file.
Dim configPath As String = ""
' Get the Web application configuration object.
Dim config As System.Configuration.Configuration = _
WebConfigurationManager.OpenWebConfiguration(configPath)
' Get the section related object.
Dim configSection As System.Web.Configuration.CompilationSection = _
CType(config.GetSection("system.web/compilation"), _
System.Web.Configuration.CompilationSection)
' Display title and info.
Console.WriteLine("ASP.NET Configuration Info")
Console.WriteLine()
' Display Config details.
Console.WriteLine("File Path: {0}", _
config.FilePath)
Console.WriteLine("Section Path: {0}", _
configSection.SectionInformation.Name)
' Display Assemblies collection count.
Console.WriteLine("Assemblies Count: {0}", _
configSection.Assemblies.Count)
' Display AssemblyPostProcessorType property.
Console.WriteLine("AssemblyPostProcessorType: {0}", _
configSection.AssemblyPostProcessorType)
' Display Batch property.
Console.WriteLine("Batch: {0}", _
configSection.Batch)
' Set Batch property.
configSection.Batch = True
' Display BatchTimeout property.
Console.WriteLine("BatchTimeout: {0}", _
configSection.BatchTimeout)
' Set BatchTimeout property.
configSection.BatchTimeout = TimeSpan.FromMinutes(15)
' Display BuildProviders collection count.
Console.WriteLine("BuildProviders collection count: {0}", _
configSection.BuildProviders.Count)
' Display CodeSubDirectories property.
Console.WriteLine("CodeSubDirectories: {0}", _
configSection.CodeSubDirectories.Count)
' Display Compilers property.
Console.WriteLine("Compilers: {0}", _
configSection.Compilers.Count)
' Display Debug property.
Console.WriteLine("Debug: {0}", _
configSection.Debug)
' Set Debug property.
configSection.Debug = False
' Display DefaultLanguage property.
Console.WriteLine("DefaultLanguage: {0}", _
configSection.DefaultLanguage)
' Set DefaultLanguage property.
configSection.DefaultLanguage = "vb"
' Display Explicit property.
Console.WriteLine("Explicit: {0}", _
configSection.Explicit)
' Set Explicit property.
configSection.Explicit = True
' Display ExpressionBuilders collection count.
Console.WriteLine("ExpressionBuilders Count: {0}", _
configSection.ExpressionBuilders.Count)
' Display MaxBatchGeneratedFileSize property.
Console.WriteLine("MaxBatchGeneratedFileSize: {0}", _
configSection.MaxBatchGeneratedFileSize)
' Set MaxBatchGeneratedFileSize property.
configSection.MaxBatchGeneratedFileSize = 1000
' Display MaxBatchSize property.
Console.WriteLine("MaxBatchSize: {0}", _
configSection.MaxBatchSize)
' Set MaxBatchSize property.
configSection.MaxBatchSize = 1000
' Display NumRecompilesBeforeAppRestart property.
Console.WriteLine("NumRecompilesBeforeAppRestart: {0}", _
configSection.NumRecompilesBeforeAppRestart)
' Set NumRecompilesBeforeAppRestart property.
configSection.NumRecompilesBeforeAppRestart = 15
' Display Strict property.
Console.WriteLine("Strict: {0}", _
configSection.Strict)
' Set Strict property.
configSection.Strict = False
' Display TempDirectory property.
Console.WriteLine("TempDirectory: {0}", _
configSection.TempDirectory)
' Set TempDirectory property.
configSection.TempDirectory = "myTempDirectory"
' Display UrlLinePragmas property.
Console.WriteLine("UrlLinePragmas: {0}", _
configSection.UrlLinePragmas)
' Set UrlLinePragmas property.
configSection.UrlLinePragmas = False
' ExpressionBuilders Collection
Dim i = 1
Dim j = 1
For Each expressionBuilder As ExpressionBuilder In configSection.ExpressionBuilders()
Console.WriteLine()
Console.WriteLine("ExpressionBuilder {0} Details:", i)
Console.WriteLine("Type: {0}", expressionBuilder.ElementInformation.Type)
Console.WriteLine("Source: {0}", expressionBuilder.ElementInformation.Source)
Console.WriteLine("LineNumber: {0}", expressionBuilder.ElementInformation.LineNumber)
Console.WriteLine("Properties Count: {0}", expressionBuilder.ElementInformation.Properties.Count)
j = 1
For Each propertyItem As PropertyInformation In expressionBuilder.ElementInformation.Properties
Console.WriteLine("Property {0} Name: {1}", j, propertyItem.Name)
Console.WriteLine("Property {0} Value: {1}", j, propertyItem.Value)
j = j + 1
Next
i = i + 1
Next
' Update if not locked.
If Not configSection.SectionInformation.IsLocked Then
config.Save()
Console.WriteLine("** Configuration updated.")
Else
Console.WriteLine("** Could not update, section is locked.")
End If
Catch e As Exception
' Unknown error.
Console.WriteLine(e.ToString())
End Try
' Display and wait
Console.ReadLine()
End Sub
End Class
End Namespace
Комментарии
Класс CompilationSection предоставляет способ программного доступа и изменения содержимого compilation раздела файла конфигурации.
Конструкторы
| Имя | Описание |
|---|---|
| CompilationSection() |
Инициализирует новый экземпляр CompilationSection класса с помощью параметров по умолчанию. |
Свойства
| Имя | Описание |
|---|---|
| Assemblies |
AssemblyCollection Возвращает объект CompilationSection. |
| AssemblyPostProcessorType |
Возвращает или задает значение, указывающее шаг компиляции после процесса для сборки. |
| Batch |
Возвращает или задает значение, указывающее, выполняется ли попытка пакетной компиляции. |
| BatchTimeout |
Возвращает или задает период времени ожидания (в секундах) для пакетной компиляции. |
| BuildProviders |
Возвращает коллекцию BuildProviderCollectionCompilationSection класса. |
| CodeSubDirectories |
CodeSubDirectoriesCollection Возвращает объект CompilationSection. |
| Compilers |
Возвращает коллекцию CompilerCollectionCompilationSection класса. |
| ControlBuilderInterceptorType |
Возвращает или задает строку, представляющую тип объекта, используемый для перехвата ControlBuilder объекта и настройки контейнера. |
| CurrentConfiguration |
Возвращает ссылку на экземпляр верхнего уровня Configuration , представляющий иерархию конфигурации, к которой принадлежит текущий ConfigurationElement экземпляр. (Унаследовано от ConfigurationElement) |
| Debug |
Возвращает или задает значение, указывающее, следует ли компилировать двоичные файлы выпуска или отлаживать двоичные файлы. |
| DefaultLanguage |
Возвращает или задает язык программирования по умолчанию для использования в файлах динамической компиляции. |
| DisableObsoleteWarnings |
Возвращает или задает значение конфигурации disableObsoleteWarnings в разделе компиляции. |
| ElementInformation |
ElementInformation Возвращает объект, содержащий не настраиваемую информацию и функциональные возможности ConfigurationElement объекта. (Унаследовано от ConfigurationElement) |
| ElementProperty |
ConfigurationElementProperty Возвращает объект, представляющий ConfigurationElement сам объект. (Унаследовано от ConfigurationElement) |
| EnablePrefetchOptimization |
Возвращает или задает значение, указывающее, может ли приложение ASP.NET воспользоваться преимуществами Windows 8 предварительной выборки. |
| EvaluationContext |
Возвращает объект ContextInformation для объекта ConfigurationElement. (Унаследовано от ConfigurationElement) |
| Explicit |
Возвращает или задает значение, указывающее, следует ли использовать параметр компиляции Microsoft Visual Basic |
| ExpressionBuilders |
ExpressionBuilderCollection Возвращает объект CompilationSection. |
| FolderLevelBuildProviders |
Возвращает коллекцию FolderLevelBuildProviderCollection класса, представляющую поставщиков CompilationSection сборок, используемых во время компиляции. |
| HasContext |
Возвращает значение, указывающее, является CurrentConfigurationли |
| Item[ConfigurationProperty] |
Возвращает или задает свойство или атрибут этого элемента конфигурации. (Унаследовано от ConfigurationElement) |
| Item[String] |
Возвращает или задает свойство, атрибут или дочерний элемент этого элемента конфигурации. (Унаследовано от ConfigurationElement) |
| LockAllAttributesExcept |
Возвращает коллекцию заблокированных атрибутов. (Унаследовано от ConfigurationElement) |
| LockAllElementsExcept |
Возвращает коллекцию заблокированных элементов. (Унаследовано от ConfigurationElement) |
| LockAttributes |
Возвращает коллекцию заблокированных атрибутов. (Унаследовано от ConfigurationElement) |
| LockElements |
Возвращает коллекцию заблокированных элементов. (Унаследовано от ConfigurationElement) |
| LockItem |
Возвращает или задает значение, указывающее, заблокирован ли элемент. (Унаследовано от ConfigurationElement) |
| MaxBatchGeneratedFileSize |
Возвращает или задает максимальный объединенный размер созданных исходных файлов на пакетную компиляцию. |
| MaxBatchSize |
Возвращает или задает максимальное количество страниц на пакетную компиляцию. |
| MaxConcurrentCompilations |
Возвращает или задает значение конфигурации maxConcurrentCompilations в разделе компиляции. |
| NumRecompilesBeforeAppRestart |
Возвращает или задает количество динамических перекомпиляция ресурсов, которые могут возникнуть до перезапуска приложения. |
| OptimizeCompilations |
Возвращает или задает значение, указывающее, должна ли компиляция быть оптимизирована. |
| ProfileGuidedOptimizations |
Возвращает или задает значение, указывающее, оптимизировано ли приложение для развернутой среды. |
| Properties |
Возвращает коллекцию свойств. (Унаследовано от ConfigurationElement) |
| SectionInformation |
SectionInformation Возвращает объект, содержащий не настраиваемую информацию и функциональные возможности ConfigurationSection объекта. (Унаследовано от ConfigurationSection) |
| Strict |
Возвращает или задает параметр компиляции Visual Basic |
| TargetFramework |
Возвращает или задает версию платформы .NET, на которую предназначен веб-сайт. |
| TempDirectory |
Возвращает или задает значение, указывающее каталог, используемый для временного хранения файлов во время компиляции. |
| UrlLinePragmas |
Возвращает или задает значение, указывающее, используют ли инструкции компилятору физические пути или URL-адреса. |
Методы
| Имя | Описание |
|---|---|
| DeserializeElement(XmlReader, Boolean) |
Считывает XML из файла конфигурации. (Унаследовано от ConfigurationElement) |
| DeserializeSection(XmlReader) |
Считывает XML из файла конфигурации. (Унаследовано от ConfigurationSection) |
| Equals(Object) |
Сравнивает текущий ConfigurationElement экземпляр с указанным объектом. (Унаследовано от ConfigurationElement) |
| GetHashCode() |
Возвращает уникальное значение, представляющее текущий ConfigurationElement экземпляр. (Унаследовано от ConfigurationElement) |
| GetRuntimeObject() |
Возвращает пользовательский объект при переопределении в производном классе. (Унаследовано от ConfigurationSection) |
| GetTransformedAssemblyString(String) |
Возвращает преобразованную версию указанного имени сборки. (Унаследовано от ConfigurationElement) |
| GetTransformedTypeString(String) |
Возвращает преобразованную версию указанного имени типа. (Унаследовано от ConfigurationElement) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| Init() |
Задает объект исходному ConfigurationElement состоянию. (Унаследовано от ConfigurationElement) |
| InitializeDefault() |
Используется для инициализации набора значений по умолчанию для ConfigurationElement объекта. (Унаследовано от ConfigurationElement) |
| IsModified() |
Указывает, был ли изменен этот элемент конфигурации с момента последнего сохранения или загрузки при реализации в производном классе. (Унаследовано от ConfigurationSection) |
| IsReadOnly() |
Возвращает значение, указывающее, доступен ли ConfigurationElement объект только для чтения. (Унаследовано от ConfigurationElement) |
| ListErrors(IList) |
Добавляет ошибки недопустимого свойства в этом ConfigurationElement объекте и во все подэлементы в переданный список. (Унаследовано от ConfigurationElement) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| OnDeserializeUnrecognizedAttribute(String, String) |
Возвращает значение, указывающее, обнаружен ли неизвестный атрибут во время десериализации. (Унаследовано от ConfigurationElement) |
| OnDeserializeUnrecognizedElement(String, XmlReader) |
Возвращает значение, указывающее, обнаружен ли неизвестный элемент во время десериализации. (Унаследовано от ConfigurationElement) |
| OnRequiredPropertyNotFound(String) |
Создает исключение, если обязательное свойство не найдено. (Унаследовано от ConfigurationElement) |
| PostDeserialize() |
Вызывается после десериализации. (Унаследовано от ConfigurationElement) |
| PreSerialize(XmlWriter) |
Вызывается перед сериализацией. (Унаследовано от ConfigurationElement) |
| Reset(ConfigurationElement) |
Сбрасывает внутреннее состояние ConfigurationElement объекта, включая блокировки и коллекции свойств. (Унаследовано от ConfigurationElement) |
| ResetModified() |
Сбрасывает значение IsModified() метода |
| SerializeElement(XmlWriter, Boolean) |
Записывает содержимое этого элемента конфигурации в файл конфигурации при реализации в производном классе. (Унаследовано от ConfigurationElement) |
| SerializeSection(ConfigurationElement, String, ConfigurationSaveMode) |
Создает XML-строку, содержащую несоединённое представление ConfigurationSection объекта в виде одного раздела для записи в файл. (Унаследовано от ConfigurationSection) |
| SerializeToXmlElement(XmlWriter, String) |
Записывает внешние теги этого элемента конфигурации в файл конфигурации при реализации в производном классе. (Унаследовано от ConfigurationElement) |
| SetPropertyValue(ConfigurationProperty, Object, Boolean) |
Задает свойству указанное значение. (Унаследовано от ConfigurationElement) |
| SetReadOnly() |
IsReadOnly() Задает свойство для ConfigurationElement объекта и всех вложенных элементов. (Унаследовано от ConfigurationElement) |
| ShouldSerializeElementInTargetVersion(ConfigurationElement, String, FrameworkName) |
Указывает, следует ли сериализовать указанный элемент при сериализации иерархии объектов конфигурации для указанной целевой версии .NET Framework. (Унаследовано от ConfigurationSection) |
| ShouldSerializePropertyInTargetVersion(ConfigurationProperty, String, FrameworkName, ConfigurationElement) |
Указывает, следует ли сериализовать указанное свойство при сериализации иерархии объектов конфигурации для указанной целевой версии платформы .NET Framework. (Унаследовано от ConfigurationSection) |
| ShouldSerializeSectionInTargetVersion(FrameworkName) |
Указывает, следует ли сериализовать текущий экземпляр ConfigurationSection при сериализации иерархии объектов конфигурации для указанной целевой версии платформы .NET Framework. (Унаследовано от ConfigurationSection) |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
| Unmerge(ConfigurationElement, ConfigurationElement, ConfigurationSaveMode) |
Изменяет объект для удаления всех значений ConfigurationElement , которые не должны быть сохранены. (Унаследовано от ConfigurationElement) |
Применяется к
См. также раздел
- ConfigurationSection
- Обзор компиляции ASP.NET
- Обзор предварительной компиляции ASP.NET