当前位置: 首页>>代码示例>>C#>>正文


C# BuildProviderCollection类代码示例

本文整理汇总了C#中System.Web.Configuration.BuildProviderCollection的典型用法代码示例。如果您正苦于以下问题:C# BuildProviderCollection类的具体用法?C# BuildProviderCollection怎么用?C# BuildProviderCollection使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


BuildProviderCollection类属于System.Web.Configuration命名空间,在下文中一共展示了BuildProviderCollection类的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Main

#region Using directives

using System;
using System.Configuration;
using System.Web.Configuration;

#endregion

namespace Samples.Aspnet.SystemWebConfiguration
{
  class UsingBuildProviderCollection
  {
    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 BuildProviderCollection count.
        Console.WriteLine("BuildProviderCollection count: {0}",
          configSection.BuildProviders.Count);

        // Create a new BuildProvider.
        BuildProvider myBuildProvider =
          new BuildProvider(".myres",
          "System.Web.Compilation.ResourcesBuildProvider");

        // Add an BuildProvider to the collection.
        configSection.BuildProviders.Add(myBuildProvider);

        // Create a second BuildProvider.
        BuildProvider myBuildProvider2 =
          new BuildProvider(".myres2",
          "System.Web.Compilation.ResourcesBuildProvider");

        // Add an BuildProvider to the collection.
        configSection.BuildProviders.Add(myBuildProvider2);

        // BuildProvider Collection
        int i = 1;
        int j = 1;
        foreach (BuildProvider BuildProviderItem in
          configSection.BuildProviders)
        {
          Console.WriteLine();
          Console.WriteLine("BuildProviders {0} Details:", i);
          Console.WriteLine("Type: {0}",
            BuildProviderItem.ElementInformation.Type);
          Console.WriteLine("Source: {0}",
            BuildProviderItem.ElementInformation.Source);
          Console.WriteLine("LineNumber: {0}",
            BuildProviderItem.ElementInformation.LineNumber);
          Console.WriteLine("Properties Count: {0}",
            BuildProviderItem.ElementInformation.Properties.Count);
          j = 1;
          foreach (PropertyInformation propertyItem in
            BuildProviderItem.ElementInformation.Properties)
          {
            Console.WriteLine("Property {0} Name: {1}", j,
              propertyItem.Name);
            Console.WriteLine("Property {0} Value: {1}", j,
              propertyItem.Value);
            j++;
          }
          i++;
        }

        // Remove a BuildProvider.
        configSection.BuildProviders.Remove(".myres2");

        // Remove an BuildProvider.
        configSection.BuildProviders.RemoveAt(
          configSection.BuildProviders.Count - 1);

        // 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();
    }
  }
}
开发者ID:.NET开发者,项目名称:System.Web.Configuration,代码行数:117,代码来源:BuildProviderCollection


注:本文中的System.Web.Configuration.BuildProviderCollection类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。