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

    技术2022-05-11  123

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


    最新回复(0)