Condividi tramite


CompilationSection Classe

Definizione

Definisce le impostazioni di configurazione utilizzate 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 dichiarativi per diversi attributi della compilation sezione, a cui è possibile accedere anche come membri della CompilationSection classe.

Nell'esempio di file di configurazione seguente viene illustrato come specificare i valori dichiarativi 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 a livello di codice e modificare il contenuto della sezione del file di compilation configurazione.

Costruttori

CompilationSection()

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

Proprietà

Assemblies

Ottiene l'oggetto AssemblyCollection di CompilationSection.

AssemblyPostProcessorType

Ottiene o imposta un valore che specifica un passaggio della compilazione successivo al processo per un assembly.

Batch

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

BatchTimeout

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

BuildProviders

Ottiene l'insieme BuildProviderCollection della classe CompilationSection.

CodeSubDirectories

Ottiene l'oggetto CodeSubDirectoriesCollection di CompilationSection.

Compilers

Ottiene l'insieme CompilerCollection della classe CompilationSection.

ControlBuilderInterceptorType

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

CurrentConfiguration

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

(Ereditato da ConfigurationElement)
Debug

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

DefaultLanguage

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

DisableObsoleteWarnings

Ottiene o imposta se il valore di configurazione "disableObsoleteWarnings" nella sezione della compilazione è impostato.

ElementInformation

Ottiene un oggetto ElementInformation contenente le funzionalità e le informazioni 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 le funzionalità di prefetch di Windows 8.

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 explicit di Microsoft Visual Basic.

ExpressionBuilders

Ottiene l'oggetto ExpressionBuilderCollection di CompilationSection.

FolderLevelBuildProviders

Ottiene l'insieme FolderLevelBuildProviderCollection della classe CompilationSection, che rappresenta i provider di compilazione utilizzati durante la 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 l'insieme di attributi bloccati.

(Ereditato da ConfigurationElement)
LockAllElementsExcept

Ottiene l'insieme di elementi bloccati.

(Ereditato da ConfigurationElement)
LockAttributes

Ottiene l'insieme di attributi bloccati.

(Ereditato da ConfigurationElement)
LockElements

Ottiene l'insieme 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 complessiva dei file di origine generati per ogni compilazione in batch.

MaxBatchSize

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

MaxConcurrentCompilations

Ottiene o imposta se il valore di configurazione "maxConcurrentCompilations" nella sezione della compilazione è impostato.

NumRecompilesBeforeAppRestart

Ottiene o imposta il numero di ricompilazioni dinamiche di risorse possibili 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 oggetto SectionInformation contenente le informazioni non personalizzabili e la funzionalità dell'oggetto ConfigurationSection.

(Ereditato da ConfigurationSection)
Strict

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

TargetFramework

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

TempDirectory

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

UrlLinePragmas

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

Metodi

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 di ConfigurationElement con l'oggetto specificato.

(Ereditato da ConfigurationElement)
GetHashCode()

Ottiene un valore univoco che rappresenta l'istanza corrente di 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 di assembly specificato.

(Ereditato da ConfigurationElement)
GetTransformedTypeString(String)

Restituisce la versione trasformata del nome del tipo specificato.

(Ereditato da ConfigurationElement)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
Init()

Ripristina lo stato iniziale dell'oggetto ConfigurationElement.

(Ereditato da ConfigurationElement)
InitializeDefault()

Da utilizzare per inizializzare un insieme predefinito di valori per l'oggetto ConfigurationElement.

(Ereditato da ConfigurationElement)
IsModified()

Indica se questo elemento di configurazione è stato modificato dall'ultimo salvataggio o caricamento durante l'implementazione 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 all'elenco passato gli errori di proprietà non valida di questo oggetto ConfigurationElement e di tutti i sottoelementi.

(Ereditato da ConfigurationElement)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
OnDeserializeUnrecognizedAttribute(String, String)

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

(Ereditato da ConfigurationElement)
OnDeserializeUnrecognizedElement(String, XmlReader)

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

(Ereditato da ConfigurationElement)
OnRequiredPropertyNotFound(String)

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

(Ereditato da ConfigurationElement)
PostDeserialize()

Da chiamare dopo la deserializzazione.

(Ereditato da ConfigurationElement)
PreSerialize(XmlWriter)

Da chiamare prima della serializzazione.

(Ereditato da ConfigurationElement)
Reset(ConfigurationElement)

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

(Ereditato da ConfigurationElement)
ResetModified()

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

(Ereditato da ConfigurationSection)
SerializeElement(XmlWriter, Boolean)

Scrive il contenuto di questo elemento di configurazione nel file di configurazione in caso di implementazione in una classe derivata.

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

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

(Ereditato da ConfigurationSection)
SerializeToXmlElement(XmlWriter, String)

Scrive i tag esterni di questo elemento di configurazione nel file di configurazione in caso di implementazione in una classe derivata.

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

Imposta una proprietà sul valore specificato.

(Ereditato da ConfigurationElement)
SetReadOnly()

Imposta la proprietà IsReadOnly() 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 ConfigurationSection deve essere serializzata quando la gerarchia di 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 in modo da rimuovere tutti i valori che non devono essere salvati.

(Ereditato da ConfigurationElement)

Si applica a

Vedi anche