技术开发 频道

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


【IT168技术文档】

  大家都知道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
相关文章