CompilationSection Classe

Definizione

Definisce le impostazioni di configurazione usate per supportare l'infrastruttura di compilazione delle applicazioni Web. La classe non può essere ereditata.

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

Esempio

In questo esempio viene illustrato come specificare i valori in modo dichiarativo per diversi attributi della compilation sezione, a cui è anche possibile accedere come membri della CompilationSection classe .

Nell'esempio di file di configurazione seguente viene illustrato come specificare i valori in modo dichiarativo per la compilation sezione .

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

Nell'esempio di codice seguente viene illustrato come usare i membri della 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

Commenti

La CompilationSection classe consente di accedere e modificare a livello di codice il contenuto della compilation sezione del file di configurazione.

Costruttori

Nome Descrizione
CompilationSection()

Inizializza una nuova istanza della CompilationSection classe utilizzando le impostazioni predefinite.

Proprietà

Nome Descrizione
Assemblies

Ottiene l'oggetto AssemblyCollection dell'oggetto CompilationSection.

AssemblyPostProcessorType

Ottiene o imposta un valore che specifica un passaggio di compilazione post-processo per un assembly.

Batch

Ottiene o imposta un valore che indica se viene tentata la compilazione batch.

BatchTimeout

Ottiene o imposta il periodo di timeout, espresso in secondi, per la compilazione batch.

BuildProviders

Ottiene la BuildProviderCollection raccolta della CompilationSection classe .

CodeSubDirectories

Ottiene l'oggetto CodeSubDirectoriesCollection dell'oggetto CompilationSection.

Compilers

Ottiene la CompilerCollection raccolta della CompilationSection classe .

ControlBuilderInterceptorType

Ottiene o imposta una stringa che rappresenta il tipo di oggetto utilizzato per intercettare un ControlBuilder oggetto e configurare un contenitore.

CurrentConfiguration

Ottiene un riferimento all'istanza di Configuration di primo livello che rappresenta la gerarchia di configurazione a cui appartiene l'istanza di ConfigurationElement corrente.

(Ereditato da ConfigurationElement)
Debug

Ottiene o imposta un valore che specifica se compilare file binari di rilascio o eseguire il debug di file binari.

DefaultLanguage

Ottiene o imposta il linguaggio di programmazione predefinito da utilizzare nei file di compilazione dinamica.

DisableObsoleteWarnings

Ottiene o imposta un valore di configurazione che indica se è impostato il valore di configurazione "disableObsoleteWarnings" nella sezione Compilazione.

ElementInformation

Ottiene un oggetto ElementInformation che contiene le informazioni e le funzionalità non personalizzabili dell'oggetto ConfigurationElement.

(Ereditato da ConfigurationElement)
ElementProperty

Ottiene l'oggetto ConfigurationElementProperty che rappresenta l'oggetto ConfigurationElement stesso.

(Ereditato da ConfigurationElement)
EnablePrefetchOptimization

Ottiene o imposta un valore che indica se un'applicazione ASP.NET può sfruttare Windows 8 funzionalità di prelettura.

EvaluationContext

Ottiene l'oggetto ContextInformation per l'oggetto ConfigurationElement.

(Ereditato da ConfigurationElement)
Explicit

Ottiene o imposta un valore che indica se utilizzare l'opzione di compilazione di Microsoft Visual Basic explicit .

ExpressionBuilders

Ottiene l'oggetto ExpressionBuilderCollection dell'oggetto CompilationSection.

FolderLevelBuildProviders

Ottiene la FolderLevelBuildProviderCollection raccolta della classe , che rappresenta i provider di compilazione utilizzati durante la CompilationSection compilazione.

HasContext

Ottiene un valore che indica se la proprietà CurrentConfiguration è null.

(Ereditato da ConfigurationElement)
Item[ConfigurationProperty]

Ottiene o imposta una proprietà o un attributo di questo elemento di configurazione.

(Ereditato da ConfigurationElement)
Item[String]

Ottiene o imposta una proprietà, un attributo o un elemento figlio di questo elemento di configurazione.

(Ereditato da ConfigurationElement)
LockAllAttributesExcept

Ottiene la raccolta di attributi bloccati.

(Ereditato da ConfigurationElement)
LockAllElementsExcept

Ottiene la raccolta di elementi bloccati.

(Ereditato da ConfigurationElement)
LockAttributes

Ottiene la raccolta di attributi bloccati.

(Ereditato da ConfigurationElement)
LockElements

Ottiene la raccolta di elementi bloccati.

(Ereditato da ConfigurationElement)
LockItem

Ottiene o imposta un valore che indica se l'elemento è bloccato.

(Ereditato da ConfigurationElement)
MaxBatchGeneratedFileSize

Ottiene o imposta la dimensione massima combinata dei file di origine generati per ogni compilazione in batch.

MaxBatchSize

Ottiene o imposta il numero massimo di pagine per compilazione in batch.

MaxConcurrentCompilations

Ottiene o imposta un valore di configurazione che indica se è impostato il valore di configurazione "maxConcurrentCompilations" nella sezione Compilazione.

NumRecompilesBeforeAppRestart

Ottiene o imposta il numero di ricompilazioni dinamiche di risorse che possono verificarsi prima del riavvio dell'applicazione.

OptimizeCompilations

Ottiene o imposta un valore che indica se la compilazione deve essere ottimizzata.

ProfileGuidedOptimizations

Ottiene o imposta un valore che indica se l'applicazione è ottimizzata per l'ambiente distribuito.

Properties

Ottiene la raccolta di proprietà.

(Ereditato da ConfigurationElement)
SectionInformation

Ottiene un SectionInformation oggetto che contiene le informazioni e le funzionalità non personalizzabili dell'oggetto ConfigurationSection .

(Ereditato da ConfigurationSection)
Strict

Ottiene o imposta l'opzione di compilazione di Visual Basic strict .

TargetFramework

Ottiene o imposta la versione di .NET Framework di destinazione del sito Web.

TempDirectory

Ottiene o imposta un valore che specifica la directory da utilizzare per l'archiviazione file temporanea durante la compilazione.

UrlLinePragmas

Ottiene o imposta un valore che indica se le istruzioni per il compilatore usano percorsi fisici o URL.

Metodi

Nome Descrizione
DeserializeElement(XmlReader, Boolean)

Legge il codice XML dal file di configurazione.

(Ereditato da ConfigurationElement)
DeserializeSection(XmlReader)

Legge il codice XML dal file di configurazione.

(Ereditato da ConfigurationSection)
Equals(Object)

Confronta l'istanza corrente ConfigurationElement con l'oggetto specificato.

(Ereditato da ConfigurationElement)
GetHashCode()

Ottiene un valore univoco che rappresenta l'istanza corrente ConfigurationElement .

(Ereditato da ConfigurationElement)
GetRuntimeObject()

Restituisce un oggetto personalizzato quando ne viene eseguito l'override in una classe derivata.

(Ereditato da ConfigurationSection)
GetTransformedAssemblyString(String)

Restituisce la versione trasformata del nome dell'assembly specificato.

(Ereditato da ConfigurationElement)
GetTransformedTypeString(String)

Restituisce la versione trasformata del nome del tipo specificato.

(Ereditato da ConfigurationElement)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
Init()

Imposta l'oggetto ConfigurationElement sullo stato iniziale.

(Ereditato da ConfigurationElement)
InitializeDefault()

Utilizzato per inizializzare un set predefinito di valori per l'oggetto ConfigurationElement.

(Ereditato da ConfigurationElement)
IsModified()

Indica se questo elemento di configurazione è stato modificato dopo l'ultimo salvataggio o caricamento quando implementato in una classe derivata.

(Ereditato da ConfigurationSection)
IsReadOnly()

Ottiene un valore che indica se l'oggetto ConfigurationElement è di sola lettura.

(Ereditato da ConfigurationElement)
ListErrors(IList)

Aggiunge gli errori di proprietà non validi in questo oggetto ConfigurationElement e in tutti i sottoelementi all'elenco passato.

(Ereditato da ConfigurationElement)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
OnDeserializeUnrecognizedAttribute(String, String)

Ottiene un valore che indica se viene rilevato un attributo sconosciuto durante la deserializzazione.

(Ereditato da ConfigurationElement)
OnDeserializeUnrecognizedElement(String, XmlReader)

Ottiene un valore che indica se durante la deserializzazione viene rilevato un elemento sconosciuto.

(Ereditato da ConfigurationElement)
OnRequiredPropertyNotFound(String)

Genera un'eccezione quando non viene trovata una proprietà obbligatoria.

(Ereditato da ConfigurationElement)
PostDeserialize()

Chiamato dopo la deserializzazione.

(Ereditato da ConfigurationElement)
PreSerialize(XmlWriter)

Chiamato prima della serializzazione.

(Ereditato da ConfigurationElement)
Reset(ConfigurationElement)

Reimposta lo stato interno dell'oggetto ConfigurationElement , inclusi i blocchi e gli insiemi di proprietà.

(Ereditato da ConfigurationElement)
ResetModified()

Reimposta il valore del IsModified() metodo su false quando implementato in una classe derivata.

(Ereditato da ConfigurationSection)
SerializeElement(XmlWriter, Boolean)

Scrive il contenuto di questo elemento di configurazione nel file di configurazione quando implementato in una classe derivata.

(Ereditato da ConfigurationElement)
SerializeSection(ConfigurationElement, String, ConfigurationSaveMode)

Crea una stringa XML contenente una visualizzazione non archiviata dell'oggetto ConfigurationSection come singola sezione da scrivere in un file.

(Ereditato da ConfigurationSection)
SerializeToXmlElement(XmlWriter, String)

Scrive i tag esterni di questo elemento di configurazione nel file di configurazione quando implementato in una classe derivata.

(Ereditato da ConfigurationElement)
SetPropertyValue(ConfigurationProperty, Object, Boolean)

Imposta una proprietà sul valore specificato.

(Ereditato da ConfigurationElement)
SetReadOnly()

Imposta la IsReadOnly() proprietà per l'oggetto ConfigurationElement e tutti i sottoelementi.

(Ereditato da ConfigurationElement)
ShouldSerializeElementInTargetVersion(ConfigurationElement, String, FrameworkName)

Indica se l'elemento specificato deve essere serializzato quando la gerarchia degli oggetti di configurazione viene serializzata per la versione di destinazione specificata di .NET Framework.

(Ereditato da ConfigurationSection)
ShouldSerializePropertyInTargetVersion(ConfigurationProperty, String, FrameworkName, ConfigurationElement)

Indica se la proprietà specificata deve essere serializzata quando la gerarchia degli oggetti di configurazione viene serializzata per la versione di destinazione specificata di .NET Framework.

(Ereditato da ConfigurationSection)
ShouldSerializeSectionInTargetVersion(FrameworkName)

Indica se l'istanza corrente di ConfigurationSection deve essere serializzata quando la gerarchia degli oggetti di configurazione viene serializzata per la versione di destinazione specificata di .NET Framework.

(Ereditato da ConfigurationSection)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
Unmerge(ConfigurationElement, ConfigurationElement, ConfigurationSaveMode)

Modifica l'oggetto ConfigurationElement per rimuovere tutti i valori che non devono essere salvati.

(Ereditato da ConfigurationElement)

Si applica a

Vedi anche