c#中对web.config配置文件的操作(增删改读)

原创 2007年10月07日 10:59:00
//c#中对web.config配置文件的操作(增删改读)

using system;
using system.configuration;
using system.reflection;
using system.web;
using system.xml;
public enum configfiletype
...{
 webconfig,
 appconfig
}


namespace configrw
...{
 
/**//// <summary>
 
/// summary description for readwriteconfig.
 
/// </summary>

 public class readwriteconfig
 
...{  
  
public string docname = string.empty; 
  
private xmlnode node=null;    
  
private int _configtype; 
  
public string message;
  
public int configtype
  
...{
   
get...return _configtype; }
   
set...{ _configtype=value; }
  }
  

  
getvalue#region getvalue
  
public string getvalue( string key ) 
  
...{   //读取
   try  
   
...{   
    xmldocument cfgdoc 
= new xmldocument(); 
    loadconfigdoc(cfgdoc);  
    
// retrieve the appsettings node  
    node =  cfgdoc.selectsinglenode("//appsettings");   
    
if( node == null )
    
...{     
     
throw new invalidoperationexception( "appsettings section not found");
    }
     
    
// xpath select setting "add" element that contains this key to remove      
    xmlelement addelem= (xmlelement)node.selectsinglenode("//add[@key=‘" +key +"‘]") ;
    
if(addelem == null)
    
...{
     message 
= "此key不存在!";
     
return message;
    }
 
    message 
= system.configuration.configurationsettings.appsettings[key];
    
return message;
   }
 
   
catch
   
...{
    message 
= "操作异常,获取value值失败!";
    
return message;
   }
 
  }
 
  
#endregion


  
setvalue#region setvalue
  
public string setvalue(string key, string value)
  
...{  //增加
   xmldocument cfgdoc = new xmldocument();
   loadconfigdoc(cfgdoc);   
   
// retrieve the appsettings node   
   node =  cfgdoc.selectsinglenode("//appsettings");      
   
if( node == null )
   
...{
    
throw new invalidoperationexception( "appsettings section not found");
   }
     
   
try  
   
...{   
    
// xpath select setting "add" element that contains this key 
    xmlelement addelem= (xmlelement)node.selectsinglenode("//add[@key=‘" +key +"‘]") ;
    
if(addelem!=null)
    
...{
     message 
= "此key已经存在!";
     
return message;
    }
    
    
// not found, so we need to add the element, key and value   
    else
    
...{
     xmlelement entry 
= cfgdoc.createelement("add");
     entry.setattribute(
"key",key);    
     entry.setattribute(
"value",value);    
     node.appendchild(entry);
    }
   
    
//save it   
    saveconfigdoc(cfgdoc,docname);   
    message 
= "添加成功!";
    
return message;
   }
  
   
catch
   
...{
    message 
= "操作异常,添加失败!";
    
return message;
   }
 
  }
  
  
  
#endregion


  
saveconfigdoc#region saveconfigdoc
  
private void saveconfigdoc(xmldocument cfgdoc,string cfgdocpath)
  
...{
   
try
   
...{
    xmltextwriter writer 
= new xmltextwriter( cfgdocpath , null ); 
    writer.formatting 
= formatting.indented;    
    cfgdoc.writeto( writer );    
    writer.flush(); 
    writer.close();  
    
return;
   }
  
   
catch
   
...{
    
throw;
   }

  }
 
  
  
#endregion


  
removeelement#region removeelement
  
public string removeelement (string elementkey) 
  
...// 删除
   try  
   
...{   
    xmldocument cfgdoc 
= new xmldocument(); 
    loadconfigdoc(cfgdoc);  
    
// retrieve the appsettings node  
    node =  cfgdoc.selectsinglenode("//appsettings");   
    
if( node == null )
    
...{
    
     
throw new invalidoperationexception( "appsettings section not found");
    }
  
   
    xmlelement addelem
= (xmlelement)node.selectsinglenode("//add[@key=‘" +elementkey +"‘]") ;
    
if(addelem == null)
    
...{     
     message 
= "此key不存在!";
     
return message;
    }
    
    
// xpath select setting "add" element that contains this key to remove      
    node.removechild( node.selectsinglenode("//add[@key=‘" +elementkey +"‘]") ); 
    saveconfigdoc(cfgdoc,docname);  
    message 
= "删除成功!";
    
return message;
   }
 
   
catch
   
...{
    message 
= "操作异常,删除失败!";
    
return message;
   }
 
  }
  
  
#endregion


  
modifyelement#region modifyelement
  
public string modifyelement (string elementkey, string elementvalue) 
  
...//修改
   try  
   
...{   
    xmldocument cfgdoc 
= new xmldocument(); 
    loadconfigdoc(cfgdoc);  
    
// retrieve the appsettings node  
    node =  cfgdoc.selectsinglenode("//appsettings");   
    
if( node == null )
    
...{     
     
throw new invalidoperationexception( "appsettings section not found");
    }
     
    
// xpath select setting "add" element that contains this key to remove      
    xmlelement addelem= (xmlelement)node.selectsinglenode("//add[@key=‘" +elementkey +"‘]") ;
    
if(addelem == null)
    
...{
     message 
= "此key不存在!";
     
return message;
    }
 
    
    addelem.setattribute(
"value",elementvalue);
    
//save it   
    saveconfigdoc(cfgdoc,docname); 
    message 
= "修改成功!";
    
return message;
   }
 
   
catch
   
...{
    message 
= "操作异常,修改失败!";
    
return message;
   }
 
  }
  
  
#endregion


  
loadconfigdoc#region loadconfigdoc
  
private xmldocument loadconfigdoc( xmldocument cfgdoc ) 
  
...{   
   
// load the config file   
   if(  convert.toint32(configtype)==convert.toint32(configfiletype.appconfig))
   
...{
    docname
= ((assembly.getentryassembly()).getname()).name;   
    docname 
+=   ".exe.config";
   }
 
   
else
   
...{
    docname
=httpcontext.current.server.mappath("web.config");
   }
  
   cfgdoc.load( docname );  
   
return cfgdoc;
  }
 
  
#endregion

 }

}


 

测试页面

using system;
using system.collections;
using system.componentmodel;
using system.data;
using system.drawing;
using system.web;
using system.web.sessionstate;
using system.web.ui;
using system.web.ui.webcontrols;
using system.web.ui.htmlcontrols;

namespace configrw
...{
 
/**//// <summary>
 
/// summary description for webform1.
 
/// </summary>

 public class webform1 : system.web.ui.page
 
...{
  
protected system.web.ui.webcontrols.button button1;
  
protected system.web.ui.webcontrols.label label1;
  
protected system.web.ui.webcontrols.textbox textbox1;
  
protected system.web.ui.webcontrols.label label2;
  
protected system.web.ui.webcontrols.textbox textbox2;
  
protected system.web.ui.webcontrols.button button3;
  
protected system.web.ui.webcontrols.button button4;
  
protected system.web.ui.webcontrols.button button2;
 
  
private void page_load(object sender, system.eventargs e)
  
...{
   
  }


  
web form designer generated code#region web form designer generated code
  
override protected void oninit(eventargs e)
  
...{
   
//
   
// codegen: this call is required by the asp.net web form designer.
   
//
   initializecomponent();
   
base.oninit(e);
  }

  
  
/**//// <summary>
  
/// required method for designer support - do not modify
  
/// the contents of this method with the code editor.
  
/// </summary>

  private void initializecomponent()
  
...{    
   
this.button1.click += new system.eventhandler(this.button1_click);
   
this.button2.click += new system.eventhandler(this.button2_click);
   
this.button3.click += new system.eventhandler(this.button3_click);
   
this.button4.click += new system.eventhandler(this.button4_click);
   
this.load += new system.eventhandler(this.page_load);

  }

  
#endregion


  
private void button2_click(object sender, system.eventargs e)
  
...{
   
//新增
   readwriteconfig config = new readwriteconfig();   
   config.configtype 
= (int)configfiletype.webconfig; 
   response.write(config.setvalue(
this.textbox1.text,this.textbox2.text));
  }


  
private void button1_click(object sender, system.eventargs e)
  
...{
   
//删除
   readwriteconfig config = new readwriteconfig();   
   config.configtype 
= (int)configfiletype.webconfig; 
   response.write(config.removeelement(
this.textbox1.text));
  }


  
private void button3_click(object sender, system.eventargs e)
  
...{
   
//修改
   readwriteconfig config = new readwriteconfig();   
   config.configtype 
= (int)configfiletype.webconfig; 
   response.write(config.modifyelement(
this.textbox1.text,this.textbox2.text));
  }


  
private void button4_click(object sender, system.eventargs e)
  
...{
   
//读取
   readwriteconfig config = new readwriteconfig();   
   config.configtype 
= (int)configfiletype.webconfig; 
   
this.textbox2.text = config.getvalue(this.textbox1.text);
  }

 }

}


 

C#中对Web.config配置文件的操作(增删改读)

C#中对Web.config配置文件的操作(增删改读)using System;using System.Configuration;using System.Reflection;using Sys...
  • sl521100
  • sl521100
  • 2007年09月10日 17:17
  • 1083

C#连接数据库的新方法(通过web.config配置文件)

方法一、    1、web.config中下加入以下连接代码                                       2、在后台代码中加入以下代码,其中Test为web....
  • u014180504
  • u014180504
  • 2014年12月16日 14:02
  • 790

对Web.Config配置文件的常见操作

.2 对配置文件的常见操作对于配置文件的常见操作包括:l         读取l         修改l         将web.config中的配置节放在单独的文件中l         对某一节进...
  • ouhaiyong
  • ouhaiyong
  • 2006年12月22日 18:21
  • 2628

C#-动态改变Web.config的值

需求:什么时候会用到动态改变Web.config内的值? 在Web.config定义了一个全局设置值A,因为程序运行中满足了某个条件,要将A的值改变Web.config中定义: 代...
  • qq_32452623
  • qq_32452623
  • 2016年12月14日 18:53
  • 1890

C# 读取webconfig配置文件Appseting key值的方法

程序中为了保持灵活性,将一些参数hu
  • ZorroBubble
  • ZorroBubble
  • 2014年06月14日 11:01
  • 4052

在js文件中,获取webconfig中的配置信息

1.在客户端页面(非单独的js文件),可以直接获取webconfig的配置信息function Name() { var Name=System.Web.Configuration.WebConfig...
  • younghaiqing
  • younghaiqing
  • 2017年05月05日 15:15
  • 2868

ASP.NET(C#)中web.config文件详解

一、认识Web.config文件    Web.config 文件是一个XML文本文件,它用来储存 ASP.NET Web 应用程序的配置信息(如最常用的设置ASP.NET Web 应用程序的身份验证...
  • superbirds
  • superbirds
  • 2010年01月11日 10:33
  • 1742

C# winform 开发之Excel操作(三)------Excel表格处理(增删改)和保存(续)

这里直接进入主题。如果,还有什么疑问,请翻看前面的文章。http://blog.csdn.net/kkfdsa132/archive/2010/03/14/5380049.aspx 方法二:通过Exc...
  • kkfdsa132
  • kkfdsa132
  • 2010年03月15日 18:31
  • 2379

C# 修改Web.Config配置文件

using System; using System.Data; using System.Configuration; using System.Collections; using Sys...
  • a4562834
  • a4562834
  • 2012年02月13日 11:30
  • 7163

c# webconfig的自定义的使用方法

首先在web.config中的 configSections里添加定义你的section 然后在configuration中添加你的namevalue项 ...
  • ashcn2001
  • ashcn2001
  • 2015年05月11日 11:04
  • 837
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:c#中对web.config配置文件的操作(增删改读)
举报原因:
原因补充:

(最多只允许输入30个字)