CompilationSection Classe

Definição

Define definições de configuração que são usadas para suportar a infraestrutura de compilação de aplicações Web. Esta 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 secção, que também podem ser acedidos como membros da CompilationSection classe.

O exemplo seguinte do ficheiro de configuração mostra como especificar valores declarativamente para a compilation secçã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 seguinte 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

Observações

A CompilationSection classe fornece uma forma de aceder programaticamente e modificar o conteúdo da compilation secção do ficheiro de configuração.

Construtores

Name Description
CompilationSection()

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

Propriedades

Name Description
Assemblies

Obtém o AssemblyCollection do CompilationSection.

AssemblyPostProcessorType

Recebe ou define um valor que especifica uma etapa de compilação pós-processo para uma montagem.

Batch

Recebe ou define um valor que indica se a compilação em lote está a ser tentada.

BatchTimeout

Obtém ou define o período de time-out, em segundos, para a compilação em lote.

BuildProviders

Fica com a BuildProviderCollection coleção da CompilationSection turma.

CodeSubDirectories

Obtém o CodeSubDirectoriesCollection do CompilationSection.

Compilers

Fica com a CompilerCollection coleção da CompilationSection turma.

ControlBuilderInterceptorType

Obtém ou define uma cadeia que representa o tipo de objeto usado para intercetar um ControlBuilder objeto e configurar um contentor.

CurrentConfiguration

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

(Herdado de ConfigurationElement)
Debug

Obtém ou define um valor que especifica se deve compilar binários de release ou debug binários.

DefaultLanguage

Obtém ou define a linguagem de programação padrão para usar em ficheiros de compilação dinâmica.

DisableObsoleteWarnings

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

ElementInformation

Obtém um ElementInformation objeto que contém a informação e funcionalidade não personalizáveis do ConfigurationElement objeto.

(Herdado de ConfigurationElement)
ElementProperty

Obtém o ConfigurationElementProperty objeto que representa o ConfigurationElement próprio objeto.

(Herdado de ConfigurationElement)
EnablePrefetchOptimization

Obtém ou define um valor que indica se uma aplicação ASP.NET pode tirar partido da funcionalidade de pré-receta do Windows 8.

EvaluationContext

Obtém o ContextInformation objeto para o ConfigurationElement objeto.

(Herdado de ConfigurationElement)
Explicit

Recebe ou define um valor que indica se deve usar a opção de compilação Microsoft Visual Basic explicit.

ExpressionBuilders

Obtém o ExpressionBuilderCollection do CompilationSection.

FolderLevelBuildProviders

Obtém a FolderLevelBuildProviderCollection coleção da CompilationSection classe, que representa os fornecedores de compilação 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 deste elemento de configuração.

(Herdado de ConfigurationElement)
Item[String]

Obtém ou define uma propriedade, atributo ou elemento filho deste 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

Recebe 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 ficheiros fonte 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 secção Compilation está definido.

NumRecompilesBeforeAppRestart

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

OptimizeCompilations

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

ProfileGuidedOptimizations

Recebe ou define um valor que indica se a aplicação está otimizada para o ambiente implementado.

Properties

Recebe a coleção de propriedades.

(Herdado de ConfigurationElement)
SectionInformation

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

(Herdado de ConfigurationSection)
Strict

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

TargetFramework

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

TempDirectory

Recebe ou define um valor que especifica o diretório a usar para armazenamento temporário de ficheiros durante a compilação.

UrlLinePragmas

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

Métodos

Name Description
DeserializeElement(XmlReader, Boolean)

Lê XML a partir do ficheiro de configuração.

(Herdado de ConfigurationElement)
DeserializeSection(XmlReader)

Lê XML a partir do ficheiro 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 único que representa a instância atual ConfigurationElement .

(Herdado de ConfigurationElement)
GetRuntimeObject()

Devolve um objeto personalizado quando sobrescrito numa classe derivada.

(Herdado de ConfigurationSection)
GetTransformedAssemblyString(String)

Devolve a versão transformada do nome da assembleia especificado.

(Herdado de ConfigurationElement)
GetTransformedTypeString(String)

Devolve a versão transformada do nome do tipo especificado.

(Herdado de ConfigurationElement)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
Init()

Define o ConfigurationElement objeto para o 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 este elemento de configuração foi modificado desde a última vez que foi guardado ou carregado quando implementado numa classe derivada.

(Herdado de ConfigurationSection)
IsReadOnly()

Recebe um valor que indica se o ConfigurationElement objeto é apenas de leitura.

(Herdado de ConfigurationElement)
ListErrors(IList)

Adiciona os erros de propriedades inválidas neste ConfigurationElement objeto, e em todos os subelementos, à lista passada.

(Herdado de ConfigurationElement)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
OnDeserializeUnrecognizedAttribute(String, String)

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

Lança uma exceção quando uma propriedade exigida não é encontrada.

(Herdado de ConfigurationElement)
PostDeserialize()

Chamada após desserialização.

(Herdado de ConfigurationElement)
PreSerialize(XmlWriter)

Chamado antes da serialização.

(Herdado de ConfigurationElement)
Reset(ConfigurationElement)

Reinicia 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 numa classe derivada.

(Herdado de ConfigurationSection)
SerializeElement(XmlWriter, Boolean)

Escreve o conteúdo deste elemento de configuração no ficheiro de configuração quando implementado numa classe derivada.

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

Cria uma string XML contendo uma vista não fundida do ConfigurationSection objeto como uma única secção para escrever num ficheiro.

(Herdado de ConfigurationSection)
SerializeToXmlElement(XmlWriter, String)

Escreve as etiquetas exteriores deste elemento de configuração no ficheiro de configuração quando implementado numa classe derivada.

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

Define uma propriedade para 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 alvo 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 alvo especificada do .NET Framework.

(Herdado de ConfigurationSection)
ShouldSerializeSectionInTargetVersion(FrameworkName)

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

(Herdado de ConfigurationSection)
ToString()

Devolve uma cadeia que representa o objeto atual.

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

Modifica o ConfigurationElement objeto para remover todos os valores que não deveriam ser guardados.

(Herdado de ConfigurationElement)

Aplica-se a

Ver também