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

王朝other·作者佚名  2006-01-08
宽屏版  字体: |||超大  

大家都知道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是否已被成功修改!!!:)

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有