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

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情
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>
asp.net读、写web.config asp.net中读、写we.config配置文件       一个网站中的配置文件可以有多个,网站运行后,系统先检测web页面所在的目录是否存在web.config,如果存在则读取面的信息,如果不存在则跳出一级检测,如果整个网站都没有web.config,系统自动读取Framework目录中的machine.config文件。    ReadConfig(读取配置文件)  阅读详情

相关推荐

C# 中Web.config文件的读取与写入

该文章转载自下面的博主 三人成虎:https://www.cnblogs.com/hnsongbiao/p/9006978.html 1.添加引用using System.Web.Configuration;2 2.web.config配置 <appSettings> <add key="FilePath" value="g:\Test\WebConfigManage...

Vip_judu的博客 934

Asp.net中的web.config配置

Asp.net中的web.config配置 Asp.net中的web.config配置... 1 一、 配置文件保存位置... 2 二、 配置文件加载顺序... 2 三、 配置文件节点介绍... 3 1. <configSections>. 3 2. <appSettings>. 5 3. <connectionStrings>. 5 ...

a410256649的博客 471

Web.Config全攻略

一、认识Web.config文件 Web.config文件是一个xml文本文件,它用来储存asp.NETWeb应用程序的配置信息(如最常用的设置asp.NETWeb应用程序的身份验证方式),它可以出现在应用程序的每一个目录中。当你通过.NET新建一个Web应用程序后,默认情况下会在根目录自动创建一个默认的Web.config文件,包括默认的配置设置,所有的子目录都继承它的配...

weixin_34088598的博客 259

ASP.NET 2.0web.config配置文件的读写

ASP.NET2.0不但进一步扩展了配置文件web.config,更为重要的是系统提供了一组API函数,让我们可以以编程的方式从配置文件提取信息    首先,先看看如果从web.config提取appSettings配置值,示例代码如下:       http://blog.netbei.com/Job Site Starter Kit (Ver.1.0)">             

427

Asp.netweb.config配置文件详解

web.config是一个XML文件,用来储存Asp.net Web应用程序的配置信息,包括数据库连接字符、身份安全验证等,可以出现在Asp.net Web应用程序服务器上的任何目录中,每个Web.config配置设置应用到它所在的目录及虚拟子目录下,子目录中的设置可以随意重写或修改在父目录中指定的设置。该文件不需要重启服务就可以生效。 Asp.net网站IIS启动时会加载配置文件中的配置信息

了空 3万+

ASP.NET 2.0Web 事件

web.config:                                            简介loadTOCNode(1, summary);欢迎使用 ASP.NET 支持语音列 ! 我名称是 Jerry Orman。 我已经与 Microsoft 在 5 年, 并已经花费大量侧重于 Web 相关技术如 FrontPage 和新 SharePoint 技

路在何方 3096

ASP.NET2.0web.config配置接口API(转)

ASP.NET2.0配置接口APIASP.NET2.0配置API接口函数允许我们读/写配置文件----包括对web.config和machine.config读写。您可以读写您自己应用程序配置文件,也可以读写同一机器上其它应用程序的配置文件,您甚至可以读写不同服务器上的应用程序配置文件。本文我们将以ASP.NET开发人员的角度看一下ASP.NET2.0的新亮点,这其中包括如何加密和解

未来~ 700

ASP.Net 2.0Web.config配置和读取

<br />ASP.Net 2.0Web.config配置和读取<br />作者未知  来源非寒日志  日期2007-4-21 04754  关键字.net,asp.net,web,asp <br />配置文件格式<br />ASP.NET 配置文件是基于 XML 的文本文件(每个都命名为 web.config),可出现在 ASP.NET Web 应用程序服务器上的任何目录中。每个 web.config 文件将配置设置应用到它所在的目录和它下面的所有虚拟子目录。子目录中的设置可随意重写或修改在父目录中指定

zoucuolea的专栏 507

Asp.NetWeb.config 配置文件详解

转载地址:http://www.cnblogs.com/xinaixia/p/4299373.html   在asp.net配置文件名一般默认是web.config。每个web.config文件都是基于XML的文本文件,并且可以保存到Web应用程序中的任何目录中。在发布Web应用程序时web.config文件并不编译进dll文件中。如果将来客户端发生了变化,仅仅需要用记事本打开web.co

7292
上一篇: 今天你写控件了吗 --Asp.net服务器控件开发系列文章 汇总
下一篇: visual studio 2005中文在线MSDN
kingwkb
博客等级 码龄22年 66粉丝 69原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值