CompilationSection Classe

Definição

Define as configurações usadas para dar suporte à infraestrutura de compilação de aplicativos Web. Essa classe não pode ser herdada.

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
Herança

Exemplos

Este exemplo demonstra como especificar valores declarativamente para vários atributos da compilation seção, que também podem ser acessados como membros da CompilationSection classe.

O exemplo de arquivo de configuração a seguir mostra como especificar valores declarativamente para a compilation seção.

<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>

O exemplo de código a seguir demonstra como usar membros da CompilationSection classe.

#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

Comentários

A CompilationSection classe fornece uma maneira de acessar e modificar programaticamente o conteúdo da compilation seção do arquivo de configuração.

Construtores

Nome Description
CompilationSection()

Inicializa uma nova instância da CompilationSection classe usando as configurações padrão.

Propriedades

Nome Description
Assemblies

Obtém o AssemblyCollectionCompilationSectionde .

AssemblyPostProcessorType

Obtém ou define um valor que especifica uma etapa de compilação pós-processo para um assembly.

Batch

Obtém ou define um valor que indica se a compilação em lote é tentada.

BatchTimeout

Obtém ou define o período de tempo limite, em segundos, para compilação em lote.

BuildProviders

Obtém a BuildProviderCollection coleção da CompilationSection classe.

CodeSubDirectories

Obtém o CodeSubDirectoriesCollectionCompilationSectionde .

Compilers

Obtém a CompilerCollection coleção da CompilationSection classe.

ControlBuilderInterceptorType

Obtém ou define uma cadeia de caracteres que representa o tipo de objeto usado para interceptar um ControlBuilder objeto e configurar um contêiner.

CurrentConfiguration

Obtém uma referência à instância de nível Configuration superior que representa a hierarquia de configuração à qual a instância atual ConfigurationElement pertence.

(Herdado de ConfigurationElement)
Debug

Obtém ou define um valor que especifica se os binários de versão ou os binários de depuração devem ser compilados.

DefaultLanguage

Obtém ou define a linguagem de programação padrão a ser usada em arquivos de compilação dinâmica.

DisableObsoleteWarnings

Obtém ou define se o valor de configuração "disableObsoleteWarnings" na seção Compilação está definido.

ElementInformation

Obtém um ElementInformation objeto que contém as informações e funcionalidades não personalizáveis do ConfigurationElement objeto.

(Herdado de ConfigurationElement)
ElementProperty

Obtém o ConfigurationElementProperty objeto que representa o ConfigurationElement objeto em si.

(Herdado de ConfigurationElement)
EnablePrefetchOptimization

Obtém ou define um valor que indica se um aplicativo ASP.NET pode aproveitar Windows 8 funcionalidade de pré-busca.

EvaluationContext

Obtém o objeto ContextInformation para o objeto ConfigurationElement.

(Herdado de ConfigurationElement)
Explicit

Obtém ou define um valor que indica se a opção de compilação do Microsoft Visual Basic explicit deve ser usada.

ExpressionBuilders

Obtém o ExpressionBuilderCollectionCompilationSectionde .

FolderLevelBuildProviders

Obtém a FolderLevelBuildProviderCollection coleção da CompilationSection classe, que representa os provedores de build usados durante a compilação.

HasContext

Obtém um valor que indica se a CurrentConfiguration propriedade é null.

(Herdado de ConfigurationElement)
Item[ConfigurationProperty]

Obtém ou define uma propriedade ou atributo desse elemento de configuração.

(Herdado de ConfigurationElement)
Item[String]

Obtém ou define uma propriedade, um atributo ou um elemento filho desse elemento de configuração.

(Herdado de ConfigurationElement)
LockAllAttributesExcept

Obtém a coleção de atributos bloqueados.

(Herdado de ConfigurationElement)
LockAllElementsExcept

Obtém a coleção de elementos bloqueados.

(Herdado de ConfigurationElement)
LockAttributes

Obtém a coleção de atributos bloqueados.

(Herdado de ConfigurationElement)
LockElements

Obtém a coleção de elementos bloqueados.

(Herdado de ConfigurationElement)
LockItem

Obtém ou define um valor que indica se o elemento está bloqueado.

(Herdado de ConfigurationElement)
MaxBatchGeneratedFileSize

Obtém ou define o tamanho máximo combinado dos arquivos de origem gerados por compilação em lote.

MaxBatchSize

Obtém ou define o número máximo de páginas por compilação em lote.

MaxConcurrentCompilations

Obtém ou define se o valor de configuração " maxConcurrentCompilations" na seção Compilação está definido.

NumRecompilesBeforeAppRestart

Obtém ou define o número de recompilações dinâmicas de recursos que podem ocorrer antes da reinicialização do aplicativo.

OptimizeCompilations

Obtém ou define um valor que indica se a compilação deve ser otimizada.

ProfileGuidedOptimizations

Obtém ou define um valor que indica se o aplicativo é otimizado para o ambiente implantado.

Properties

Obtém a coleção de propriedades.

(Herdado de ConfigurationElement)
SectionInformation

Obtém um SectionInformation objeto que contém as informações e a funcionalidade não personalizáveis do ConfigurationSection objeto.

(Herdado de ConfigurationSection)
Strict

Obtém ou define a opção de compilação do Visual Basic strict .

TargetFramework

Obtém ou define a versão do .NET Framework que o site visa.

TempDirectory

Obtém ou define um valor que especifica o diretório a ser usado para armazenamento temporário de arquivos durante a compilação.

UrlLinePragmas

Obtém ou define um valor que indica se as instruções para o compilador usam caminhos físicos ou URLs.

Métodos

Nome Description
DeserializeElement(XmlReader, Boolean)

Lê XML do arquivo de configuração.

(Herdado de ConfigurationElement)
DeserializeSection(XmlReader)

Lê XML do arquivo de configuração.

(Herdado de ConfigurationSection)
Equals(Object)

Compara a instância atual ConfigurationElement com o objeto especificado.

(Herdado de ConfigurationElement)
GetHashCode()

Obtém um valor exclusivo que representa a instância atual ConfigurationElement .

(Herdado de ConfigurationElement)
GetRuntimeObject()

Retorna um objeto personalizado quando substituído em uma classe derivada.

(Herdado de ConfigurationSection)
GetTransformedAssemblyString(String)

Retorna a versão transformada do nome do assembly especificado.

(Herdado de ConfigurationElement)
GetTransformedTypeString(String)

Retorna a versão transformada do nome de tipo especificado.

(Herdado de ConfigurationElement)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
Init()

Define o ConfigurationElement objeto como seu estado inicial.

(Herdado de ConfigurationElement)
InitializeDefault()

Usado para inicializar um conjunto padrão de valores para o ConfigurationElement objeto.

(Herdado de ConfigurationElement)
IsModified()

Indica se esse elemento de configuração foi modificado desde que foi salvo ou carregado pela última vez quando implementado em uma classe derivada.

(Herdado de ConfigurationSection)
IsReadOnly()

Obtém um valor que indica se o ConfigurationElement objeto é somente leitura.

(Herdado de ConfigurationElement)
ListErrors(IList)

Adiciona os erros de propriedade inválido nesse ConfigurationElement objeto e, em todos os subelementos, à lista passada.

(Herdado de ConfigurationElement)
MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
OnDeserializeUnrecognizedAttribute(String, String)

Obtém um valor que indica se um atributo desconhecido é encontrado durante a desserialização.

(Herdado de ConfigurationElement)
OnDeserializeUnrecognizedElement(String, XmlReader)

Obtém um valor que indica se um elemento desconhecido é encontrado durante a desserialização.

(Herdado de ConfigurationElement)
OnRequiredPropertyNotFound(String)

Gera uma exceção quando uma propriedade necessária não é encontrada.

(Herdado de ConfigurationElement)
PostDeserialize()

Chamado após a desserialização.

(Herdado de ConfigurationElement)
PreSerialize(XmlWriter)

Chamado antes da serialização.

(Herdado de ConfigurationElement)
Reset(ConfigurationElement)

Redefine o estado interno do ConfigurationElement objeto, incluindo os bloqueios e as coleções de propriedades.

(Herdado de ConfigurationElement)
ResetModified()

Redefine o valor do IsModified() método para false quando implementado em uma classe derivada.

(Herdado de ConfigurationSection)
SerializeElement(XmlWriter, Boolean)

Grava o conteúdo desse elemento de configuração no arquivo de configuração quando implementado em uma classe derivada.

(Herdado de ConfigurationElement)
SerializeSection(ConfigurationElement, String, ConfigurationSaveMode)

Cria uma cadeia de caracteres XML que contém uma exibição não mesclada do ConfigurationSection objeto como uma única seção para gravar em um arquivo.

(Herdado de ConfigurationSection)
SerializeToXmlElement(XmlWriter, String)

Grava as marcas externas desse elemento de configuração no arquivo de configuração quando implementado em uma classe derivada.

(Herdado de ConfigurationElement)
SetPropertyValue(ConfigurationProperty, Object, Boolean)

Define uma propriedade como o valor especificado.

(Herdado de ConfigurationElement)
SetReadOnly()

Define a IsReadOnly() propriedade para o ConfigurationElement objeto e todos os subelementos.

(Herdado de ConfigurationElement)
ShouldSerializeElementInTargetVersion(ConfigurationElement, String, FrameworkName)

Indica se o elemento especificado deve ser serializado quando a hierarquia de objetos de configuração é serializada para a versão de destino especificada do .NET Framework.

(Herdado de ConfigurationSection)
ShouldSerializePropertyInTargetVersion(ConfigurationProperty, String, FrameworkName, ConfigurationElement)

Indica se a propriedade especificada deve ser serializada quando a hierarquia de objetos de configuração é serializada para a versão de destino especificada do .NET Framework.

(Herdado de ConfigurationSection)
ShouldSerializeSectionInTargetVersion(FrameworkName)

Indica se a instância ConfigurationSection atual deve ser serializada quando a hierarquia de objetos de configuração é serializada para a versão de destino especificada do .NET Framework.

(Herdado de ConfigurationSection)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)
Unmerge(ConfigurationElement, ConfigurationElement, ConfigurationSaveMode)

Modifica o ConfigurationElement objeto para remover todos os valores que não devem ser salvos.

(Herdado de ConfigurationElement)

Aplica-se a

Confira também