CompilationSection Classe

Définition

Définit les paramètres de configuration utilisés pour prendre en charge l’infrastructure de compilation des applications web. Cette classe ne peut pas être héritée.

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
Héritage

Exemples

Cet exemple montre comment spécifier des valeurs de manière déclarative pour plusieurs attributs de la compilation section, qui sont également accessibles en tant que membres de la CompilationSection classe.

L’exemple de fichier de configuration suivant montre comment spécifier des valeurs de manière déclarative pour la compilation section.

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

L’exemple de code suivant montre comment utiliser des membres de la 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

Remarques

La CompilationSection classe permet d’accéder par programmation et de modifier le contenu de la compilation section du fichier de configuration.

Constructeurs

Nom Description
CompilationSection()

Initialise une nouvelle instance de la classe à l’aide CompilationSection des paramètres par défaut.

Propriétés

Nom Description
Assemblies

Obtient le AssemblyCollectionCompilationSection.

AssemblyPostProcessorType

Obtient ou définit une valeur spécifiant une étape de compilation post-processus pour un assembly.

Batch

Obtient ou définit une valeur indiquant si la compilation par lots est tentée.

BatchTimeout

Obtient ou définit le délai d’attente, en secondes, pour la compilation par lots.

BuildProviders

Obtient la BuildProviderCollection collection de la CompilationSection classe.

CodeSubDirectories

Obtient le CodeSubDirectoriesCollectionCompilationSection.

Compilers

Obtient la CompilerCollection collection de la CompilationSection classe.

ControlBuilderInterceptorType

Obtient ou définit une chaîne représentant le type d’objet utilisé pour intercepter un ControlBuilder objet et configurer un conteneur.

CurrentConfiguration

Obtient une référence à l’instance de niveau supérieur Configuration qui représente la hiérarchie de configuration à laquelle appartient l’instance ConfigurationElement actuelle.

(Hérité de ConfigurationElement)
Debug

Obtient ou définit une valeur spécifiant s’il faut compiler des fichiers binaires de mise en production ou déboguer des fichiers binaires.

DefaultLanguage

Obtient ou définit le langage de programmation par défaut à utiliser dans les fichiers de compilation dynamique.

DisableObsoleteWarnings

Obtient ou définit si la valeur de configuration « disableObsoleteWarnings » dans la section Compilation est définie.

ElementInformation

Obtient un objet ElementInformation qui contient les informations et fonctionnalités non personnalisables de l’objet ConfigurationElement.

(Hérité de ConfigurationElement)
ElementProperty

Obtient l’objet ConfigurationElementProperty qui représente l’objet ConfigurationElement lui-même.

(Hérité de ConfigurationElement)
EnablePrefetchOptimization

Obtient ou définit une valeur qui indique si une application ASP.NET peut tirer parti de Windows 8 fonctionnalité de prérécupération.

EvaluationContext

Obtient l'objet ContextInformation pour l'objet ConfigurationElement.

(Hérité de ConfigurationElement)
Explicit

Obtient ou définit une valeur indiquant s’il faut utiliser l’option de compilation Microsoft Visual Basic explicit .

ExpressionBuilders

Obtient le ExpressionBuilderCollectionCompilationSection.

FolderLevelBuildProviders

Obtient la FolderLevelBuildProviderCollection collection de la classe, qui représente les fournisseurs de build utilisés pendant la CompilationSection compilation.

HasContext

Obtient une valeur qui indique si la propriété CurrentConfiguration est null.

(Hérité de ConfigurationElement)
Item[ConfigurationProperty]

Obtient ou définit une propriété ou un attribut de cet élément de configuration.

(Hérité de ConfigurationElement)
Item[String]

Obtient ou définit une propriété, un attribut ou un élément enfant de cet élément de configuration.

(Hérité de ConfigurationElement)
LockAllAttributesExcept

Obtient la collection d’attributs verrouillés.

(Hérité de ConfigurationElement)
LockAllElementsExcept

Obtient la collection d’éléments verrouillés.

(Hérité de ConfigurationElement)
LockAttributes

Obtient la collection d’attributs verrouillés.

(Hérité de ConfigurationElement)
LockElements

Obtient la collection d’éléments verrouillés.

(Hérité de ConfigurationElement)
LockItem

Obtient ou définit une valeur indiquant si l’élément est verrouillé.

(Hérité de ConfigurationElement)
MaxBatchGeneratedFileSize

Obtient ou définit la taille combinée maximale des fichiers sources générés par compilation par lot.

MaxBatchSize

Obtient ou définit le nombre maximal de pages par compilation par lot.

MaxConcurrentCompilations

Obtient ou définit si la valeur de configuration « maxConcurrentCompilations » dans la section Compilation est définie.

NumRecompilesBeforeAppRestart

Obtient ou définit le nombre de recompilations dynamiques de ressources qui peuvent se produire avant le redémarrage de l’application.

OptimizeCompilations

Obtient ou définit une valeur qui indique si la compilation doit être optimisée.

ProfileGuidedOptimizations

Obtient ou définit une valeur qui indique si l’application est optimisée pour l’environnement déployé.

Properties

Obtient la collection de propriétés.

(Hérité de ConfigurationElement)
SectionInformation

Obtient un SectionInformation objet qui contient les informations et fonctionnalités non personnalisables de l’objet ConfigurationSection .

(Hérité de ConfigurationSection)
Strict

Obtient ou définit l’option de compilation Visual Basic strict .

TargetFramework

Obtient ou définit la version du .NET Framework cible par le site Web.

TempDirectory

Obtient ou définit une valeur qui spécifie le répertoire à utiliser pour le stockage de fichiers temporaire pendant la compilation.

UrlLinePragmas

Obtient ou définit une valeur indiquant si les instructions du compilateur utilisent des chemins physiques ou des URL.

Méthodes

Nom Description
DeserializeElement(XmlReader, Boolean)

Lit le code XML à partir du fichier de configuration.

(Hérité de ConfigurationElement)
DeserializeSection(XmlReader)

Lit le code XML à partir du fichier de configuration.

(Hérité de ConfigurationSection)
Equals(Object)

Compare l’instance actuelle ConfigurationElement à l’objet spécifié.

(Hérité de ConfigurationElement)
GetHashCode()

Obtient une valeur unique représentant l’instance actuelle ConfigurationElement .

(Hérité de ConfigurationElement)
GetRuntimeObject()

Retourne un objet personnalisé en cas de substitution dans une classe dérivée.

(Hérité de ConfigurationSection)
GetTransformedAssemblyString(String)

Retourne la version transformée du nom d’assembly spécifié.

(Hérité de ConfigurationElement)
GetTransformedTypeString(String)

Retourne la version transformée du nom de type spécifié.

(Hérité de ConfigurationElement)
GetType()

Obtient la Type de l’instance actuelle.

(Hérité de Object)
Init()

Définit l’objet ConfigurationElement à son état initial.

(Hérité de ConfigurationElement)
InitializeDefault()

Permet d’initialiser un jeu de valeurs par défaut pour l’objet ConfigurationElement.

(Hérité de ConfigurationElement)
IsModified()

Indique si cet élément de configuration a été modifié depuis son dernier enregistrement ou chargé lors de l’implémentation dans une classe dérivée.

(Hérité de ConfigurationSection)
IsReadOnly()

Obtient une valeur indiquant si l’objet ConfigurationElement est en lecture seule.

(Hérité de ConfigurationElement)
ListErrors(IList)

Ajoute les erreurs de propriété non valides dans cet objet ConfigurationElement et, dans tous les sous-éléments, à la liste passée.

(Hérité de ConfigurationElement)
MemberwiseClone()

Crée une copie superficielle du Objectactuel.

(Hérité de Object)
OnDeserializeUnrecognizedAttribute(String, String)

Obtient une valeur indiquant si un attribut inconnu est rencontré lors de la désérialisation.

(Hérité de ConfigurationElement)
OnDeserializeUnrecognizedElement(String, XmlReader)

Obtient une valeur indiquant si un élément inconnu est rencontré lors de la désérialisation.

(Hérité de ConfigurationElement)
OnRequiredPropertyNotFound(String)

Lève une exception lorsqu’une propriété requise est introuvable.

(Hérité de ConfigurationElement)
PostDeserialize()

Appelé après la désérialisation.

(Hérité de ConfigurationElement)
PreSerialize(XmlWriter)

Appelé avant la sérialisation.

(Hérité de ConfigurationElement)
Reset(ConfigurationElement)

Réinitialise l’état interne de l’objet ConfigurationElement , y compris les verrous et les collections de propriétés.

(Hérité de ConfigurationElement)
ResetModified()

Réinitialise la valeur de la IsModified() méthode false lorsqu’elle est implémentée dans une classe dérivée.

(Hérité de ConfigurationSection)
SerializeElement(XmlWriter, Boolean)

Écrit le contenu de cet élément de configuration dans le fichier de configuration en cas d’implémentation dans une classe dérivée.

(Hérité de ConfigurationElement)
SerializeSection(ConfigurationElement, String, ConfigurationSaveMode)

Crée une chaîne XML contenant une vue non fusionnée de l’objet ConfigurationSection sous la forme d’une section unique à écrire dans un fichier.

(Hérité de ConfigurationSection)
SerializeToXmlElement(XmlWriter, String)

Écrit les balises externes de cet élément de configuration dans le fichier de configuration en cas d’implémentation dans une classe dérivée.

(Hérité de ConfigurationElement)
SetPropertyValue(ConfigurationProperty, Object, Boolean)

Définit une propriété sur la valeur spécifiée.

(Hérité de ConfigurationElement)
SetReadOnly()

Définit la IsReadOnly() propriété de l’objet ConfigurationElement et de tous les sous-éléments.

(Hérité de ConfigurationElement)
ShouldSerializeElementInTargetVersion(ConfigurationElement, String, FrameworkName)

Indique si l’élément spécifié doit être sérialisé lorsque la hiérarchie d’objets de configuration est sérialisée pour la version cible spécifiée du .NET Framework.

(Hérité de ConfigurationSection)
ShouldSerializePropertyInTargetVersion(ConfigurationProperty, String, FrameworkName, ConfigurationElement)

Indique si la propriété spécifiée doit être sérialisée lorsque la hiérarchie d’objets de configuration est sérialisée pour la version cible spécifiée du .NET Framework.

(Hérité de ConfigurationSection)
ShouldSerializeSectionInTargetVersion(FrameworkName)

Indique si l’instance ConfigurationSection actuelle doit être sérialisée lorsque la hiérarchie d’objets de configuration est sérialisée pour la version cible spécifiée du framework .NET.

(Hérité de ConfigurationSection)
ToString()

Retourne une chaîne qui représente l’objet actuel.

(Hérité de Object)
Unmerge(ConfigurationElement, ConfigurationElement, ConfigurationSaveMode)

Modifie l’objet ConfigurationElement pour supprimer toutes les valeurs qui ne doivent pas être enregistrées.

(Hérité de ConfigurationElement)

S’applique à

Voir aussi