首页 新闻 会员 周边

请教对Web.config的读取操作

0
悬赏园豆:20 [已解决问题] 解决于 2013-02-25 11:08

在后台我想把字符串“abc”保存到Web.config中(任何位置都行,起到暂存功能),代码如何实现?

然后在后台从Web.config中读取字符串“abc”,代码如何实现?

丶夏之星的主页 丶夏之星 | 初学一级 | 园豆:5
提问于:2013-02-25 10:25
< >
分享
最佳答案
0

在web.config中放入<appSetting>中

eg:

  <appSettings>
    <add key="log4net.Internal.Debug" value="true"/>
    <add key="tax" value="0.4"/>
  </appSettings>

在后台访问

string log4Str = System.Configuration.ConfigurationManager.AppSettings["log4net.Internal.Debug"].ToString();

 

 

收获园豆:20
滴答的雨 | 老鸟四级 |园豆:3660 | 2013-02-25 10:32

的确,看其定义已经是String了,这个没大注意……

所以不用再ToString()了……

string log4Str = System.Configuration.ConfigurationManager.AppSettings["log4net.Internal.Debug"];
滴答的雨 | 园豆:3660 (老鸟四级) | 2013-02-25 10:46

@滴答的雨:在后台,如何修改value的值 

丶夏之星 | 园豆:5 (初学一级) | 2013-02-25 10:51

@夏日星: 直接修改web.config文件我记得是不推荐的。可以考虑自己弄个xml文件进行修改。。。

自制XML文件:http://blog.csdn.net/fishpowersoft/article/details/1957113

web.config方式:

/// <summary>
/// 修改web.config文件appSettings配置节中的Add里的value属性
/// </summary>
/// <remarks>
/// 注意,调用该函数后,会使整个Web Application重启,导致当前所有的会话丢失
/// </remarks>
/// <param name="key">要修改的键key</param>
/// <param name="strValue">修改后的value</param>
/// <exception cref="">找不到相关的键</exception>
/// <exception cref="">权限不够,无法保存到web.config文件中</exception>
public void Modify(string key,string strValue)
{
string XPath="/configuration/appSettings/add[@key='?']";
XmlDocument domWebConfig=new XmlDocument();

domWebConfig.Load( (HttpContext.Current.Server.MapPath("web.config")) );
XmlNode addKey=domWebConfig.SelectSingleNode( (XPath.Replace("?",key)) );
if(addKey == null)
{
throw new ArgumentException("没有找到<add key='"+key+"' value=.../>的配置节");
}
addKey.Attributes["value"].InnerText=strValue;
domWebConfig.Save( (HttpContext.Current.Server.MapPath("web.config")) );

}
滴答的雨 | 园豆:3660 (老鸟四级) | 2013-02-25 10:54
其他回答(2)
0

楼上

System.Configuration.ConfigurationManager.AppSettings["log4net.Internal.Debug"]已经是string了,为什么还要ToString()?
顾晓北 | 园豆:10844 (专家六级) | 2013-02-25 10:41
0

这个修改WebConfig?不太好把,每次修改都会导致IIS应用程序池回收。当然只读的话没问题。猜既然是临时放入肯定会由读和写

其实写到其他的XML文件会更好些。或者资源文件里。

luofer | 园豆:468 (菜鸟二级) | 2013-02-25 10:48
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册