ASP.NET2.0里web.config配置的读写

转载 2006年05月18日 10:52:00
ASP.NET2.0里不但进一步扩展了配置文件web.config,更为重要的是系统提供了一组API函数,让我们可以以编程的方式从配置文件里提取信息
    首先,先看看如果从web.config里提取appSettings里的配置值,示例代码如下:
 <appSettings>
       <add key="pagetitle" value="Job Site Starter Kit (Ver.1.0)"></add>
        <add key="sitelogo" value="logo.gif"></add>
       <add key="advertiseemail" value="sales@somesite.com"></add>
     </appSettings>
利用ASP.NET2.0提供的一组API函数,您可以很容易的获取AppSettingsSection里所有的Keys/value组对,如下:
Configuration config
= WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);
AppSettingsSection appSettings = (AppSettingsSection) config.GetSection("appSettings");
string[] appKeys = appSettings.Settings.AllKeys;
 
for (int i = 0; i < appSettings.Settings.Count; i++)
{
//这里只进行简单的输出
Response.Write(appSettings.Settings[appKeys[i]].Value);
Response.Write("<BR>");
}
 
上面代码只是进行简单的输出所有Keyvalue值,然而,你可能想获取的仅仅是某一个key的值,这也非常简单,如下:
Configuration config = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);
AppSettingsSection appSettings = (AppSettingsSection)config.GetSection("appSettings");
 
string pateTitle= appSettings.Settings["pagetitle"].Value; //获取keypatetitlevalue
string siteLogo appSettings.Settings["siteLogo"].Value; //获取keysitelogovalue
 
对于数据库连接字符串,在ASP.NET2.0里提供了专门的配置节如下:
<connectionStrings>
    <add name="connectionstring"
connectionString="Data Source=SQLEXPRESS;AttachDbFilename=JsskDb.mdf; … .."/>
   
<add name="MyProviderConnectionString"
connectionString="Data Source=SQLEXPRESS;Integrated Security=True;  … …"/>
</connectionStrings>
 
这样我们很容易获取数据库连接字符串如下:
Configuration config
= WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);
 ConnectionStringsSection conSection = (ConnectionStringsSection)config.GetSection("connectionstring ");
 
ConnectionStringSettingsCollection conCollection = conSection.ConnectionStrings;
 
foreach (ConnectionStringSettings conSetting in conCollection)
 
{
Response.Write(conSetting.ConnectionString);
Response.Write("<BR>");
}
 
另外,利用API函数,你同时还可以在代码里更改web.config数据库连接的配置的值,如下
Configuration config = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);
 
ConnectionStringsSection conSection
 = (ConnectionStringsSection)config.GetSection("connectionStrings");
 
conSection.ConnectionStrings["SQLConnectionString"].ConnectionString =
"Data Source=SQLEXPRESS;Integrated Security=True;  … …";
config.Save();
 
 
这里最有意思的可能就是类的转换,在<appSettings ></appSettings>里,使用的是AppSettingsSection类,在<connectionStrings></ connectionStrings>里使用的的是ConnectionStringsSection类,事实上,ASP.NET2.0提供的一组函数都是“配置节名+Section”的形式提供的类。
   ASP.NET官方网站曾经对此专门介绍,可以找不到该文件了。
 
ASP.NET2.0里提供了两种方式对数据库连接字符串加密,一种是使用asp_regii命令,一种是通过代码,下面显示的是通过代码方式对数据库连接字符串加密,代码如下:
Configuration config = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);
ConfigurationSection configSection = config.GetSection("connectionStrings");
 
if (configSection.SectionInformation.IsProtected)
{//如果已经加密,就不用再加密了
configSection.SectionInformation.UnprotectSection();
config.Save();
 
}
else
{
configSection.SectionInformation.ProtectSection ("DataProtectionConfigurationProvider");
config.Save();
}
 


这样,你检查该文件的配置可能如下:
<connectionStrings configProtectionProvider="DataProtectionConfigurationProvider">
<EncryptedData>
<CipherData>
<CipherValue>AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAVClqG40BZkCjK40
adynN8gQAAAACAAAAAAADZgAAqAAAABAAAABIhtOW …PE
</CipherData>
</EncryptedData>
</connectionStrings>

将数据保存在web.config配置文件中,及如何获取config配置文件中的数据

有的数据需要写到配置文件中的。我们就尽量写到配置文件中来。比如经常变动的数据 ,或者用户时候的时候只要改改配置文件就可以了用了的值,如:ip地址。端口号,MD5加盐。等等。我们可以将这些值写入到web...
  • Fanbin168
  • Fanbin168
  • 2015年01月22日 00:20
  • 4995

Asp.net中web.config配置文件最全面详解

web.config是一个XML文件,用来储存Asp.net Web应用程序的配置信息,包括数据库连接字符、身份安全验证等,可以出现在Asp.net Web应用程序服务器上的任何目录中,每个Web.c...
  • u011966339
  • u011966339
  • 2017年03月22日 09:52
  • 1994

关于ASP.NET C#配置Web.config的方法及读取方法

关于ASP.NET C# 配置Web.config的方法以及巧用设置   2010-09-03 09:41:33|  分类: asp.net技术 |  标签: |举报 |字号大中小 订阅 ...
  • LHW_00002
  • LHW_00002
  • 2014年09月14日 16:39
  • 1832

ASP.NET配置文件Web.config 详细解释

一、认识Web.config文件 Web.config文件是一个XML文本文件,它用来储存 ASP.NET Web 应用程序的配置信息(如最常用的设置ASP.NET Web 应用程序的身份验证方...
  • Jadenzy
  • Jadenzy
  • 2014年10月15日 09:27
  • 227

Asp.net中Web.config连接字符串及配置数据库sqlserver

近日正在看Asp.net,看到Web.config有很不清楚之处,特意从网络、MSDN搜集、归纳和整理,供大家分享。 在ASP.NET的web.config中,可以用两种方式来写连接字符串的配置...
  • trr1994917
  • trr1994917
  • 2015年04月27日 17:22
  • 303

Asp.Net 之 Web.config 配置文件详解

转载地址:http://www.cnblogs.com/xinaixia/p/4299373.html   在asp.net中配置文件名一般默认是web.config。每个web.config文件都...
  • Humourer
  • Humourer
  • 2017年07月26日 17:15
  • 1429

如何在ASP.NET的web.config配置文件中添加MIME类型

常常有一些特殊的MIME类型是IIS中没有的,一般来说要我们自己手动添加。如果网站经常更换服务器或者网站代码是提供给多个用户使用,那么会造成网站中用到的特殊的MIME类型要经常性的在IIS上配置。这里...
  • prospertu
  • prospertu
  • 2017年06月03日 15:50
  • 383

asp.net项目中通过Web.config配置文件及文件夹的访问权限!

描述:在开发中我们通常会碰到这样的问题,例如:在项目的根目录下面有一个文件或者文件夹需要用户登陆后才能访问。如果用户在没有登录的情况下访问该文件或者该文件夹下面的文件时,直接拦截重定向到对应的登陆页面...
  • qingYun1029
  • qingYun1029
  • 2011年02月14日 20:11
  • 13082

ASP.NET配置文件Web.config详细解释-

Web.config文件是一个XML文本文件,它用来储存 ASP.NET Web 应用程序的配置信息(如最常用的设置ASP.NET Web 应用程序的身份验证方式),它可以出现在应用程序的每一个目录中...
  • sunnnywindows
  • sunnnywindows
  • 2012年11月14日 15:06
  • 405

asp.net数据库连接web.config配置

本文来自 博客园 mile ,转载请详细标明作者及出处,以示尊重! 作者:mile 原文:http://www.cnblogs.com/lhws/archive/2012/03/15/2397...
  • ruishuang8520
  • ruishuang8520
  • 2013年06月11日 23:45
  • 663
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASP.NET2.0里web.config配置的读写
举报原因:
原因补充:

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