您的位置:首页 > 编程语言 > ASP

运行时修改Web.config中的元素值

2002-03-18 09:15 435 查看
      大家都知道Asp.Net提供了一个WebApplication的配置文件web.config,让我们可以很方便地设置Web应用程序,另外还可以在appSettings节中增加一些我们常要使用的单元,如数据库连接串等,利用System.Configuration.ConfigurationSetting类我们可以很容易读取这些单元的值,但是要改变这些值就需要一些技巧了,下面我就来告诉大家如何在运行时利用System.Management中的类去改变这些单元的值。

现假设您有一个WebApplication名叫MyWebApp,虚拟路径为:http://localhost/MyWebApp,目录路径为:c:/inetpub/wwwroot/MyWebApp,其中配置文件web.config中的appSettings设置如下:

<configuration>
 <appSettings>
     <add key="test" value="runtime modify test"/>
 </appSettings>

</configuration>

创建一个新的Console应用程序加入以下代码:

using System;
using System.Management;

namespace ConsoleApplication1
{
 class Class1
 {
  [STAThread]
  static void Main(string[] args)
  {
   ManagementObject appSet= new ManagementObject("root//NetFrameworkV1:appSettings.Directive=/"add/",key=/"test/",Selector=/"file://C:/Inetpub/wwwroot/MyWebApp/web.config/"");
   Console.WriteLine(string.Format("Old value:{0}",appSet["value"]));
   appSet.SetPropertyValue("value","new value was set ok!");
   appSet.Put();
   Console.WriteLine("New value setted ok!");
   Console.Read();
  }
 }
}

编译并运行,然后查看MyWebApp/web.config是否已被成功修改!!!:)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息