asp.net.ph

CompilationSection Class

System.Web.Configuration Namespace


.NET Framework version 2.0

Defines configuration settings that are used to support the compilation infrastructure of Web applications. This class cannot be inherited.

CompilationSection Class Members

Collapse   Constructors

Visibility Constructor Parameters
public CompilationSection ( )

Collapse   Properties

Visibility Name Value Type Accessibility
public Assemblies AssemblyCollection [ Get ]
public AssemblyPostProcessorType String [ Get , Set ]
public Batch Boolean [ Get , Set ]
public BatchTimeout TimeSpan [ Get , Set ]
public BuildProviders BuildProviderCollection [ Get ]
public CodeSubDirectories CodeSubDirectoriesCollection [ Get ]
public Compilers CompilerCollection [ Get ]
public ControlBuilderInterceptorType String [ Get , Set ]
public Debug Boolean [ Get , Set ]
public DefaultLanguage String [ Get , Set ]
public DisableObsoleteWarnings Boolean [ Get , Set ]
public EnablePrefetchOptimization Boolean [ Get , Set ]
public Explicit Boolean [ Get , Set ]
public ExpressionBuilders ExpressionBuilderCollection [ Get ]
public FolderLevelBuildProviders FolderLevelBuildProviderCollection [ Get ]
public MaxBatchGeneratedFileSize Int32 [ Get , Set ]
public MaxBatchSize Int32 [ Get , Set ]
public MaxConcurrentCompilations Int32 [ Get , Set ]
public NumRecompilesBeforeAppRestart Int32 [ Get , Set ]
public OptimizeCompilations Boolean [ Get , Set ]
public ProfileGuidedOptimizations ProfileGuidedOptimizationsFlags [ Get , Set ]
public Strict Boolean [ Get , Set ]
public TargetFramework String [ Get , Set ]
public TempDirectory String [ Get , Set ]
public UrlLinePragmas Boolean [ Get , Set ]

Collapse   Methods

Visibility Name Parameters Return Type
protected GetRuntimeObject ( ) Object
protected PostDeserialize ( ) Void
protected SetReadOnly ( ) Void

Remarks

The CompilationSection class provides a way to programmatically access and modify the compilation section of a configuration file.

Example

This example demonstrates how to specify values declaratively for several attributes of the compilation section, which can also be accessed as members of the CompilationSection class.

The following configuration file example shows how to specify values declaratively for the compilation section.

<system.web>
   <compilation
      tempDirectory = ""
      debug = "False"
      strict = "False"
      explicit = "True"
      batch = "True"
      batchTimeout = "900"
      maxBatchSize = "1000"
      maxBatchGeneratedFileSize = "1000"
      numRecompilesBeforeAppRestart = "15"
      defaultLanguage = "vb"
      urlLinePragmas = "False"
      assemblyPostProcessorType = "">
      <assemblies>
         <clear />
      </assemblies>
      <buildProviders>
         <clear />
      </buildProviders>
      <expressionBuilders>
         <clear />
      </expressionBuilders>
   </compilation>
</system.web>

The following code example demonstrates how to use members of the CompilationSection class.

using System;
using System.Collections.Generic;
using System.Text;
using System.Configuration;
using System.Web;
using System.Web.Configuration;

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 ( );
      }
   }
}
  C# VB

See Also

ASP.NET Configuration   <compilation> Section Skip Navigation Links




Home
Suggested Reading


Previous page Back to top Next page

© 2000-2010 Rey Nuñez All rights reserved.

If you have any question, comment or suggestion
about this site, please send us a note

You can help support asp.net.ph