ASP.NET Web.config文件的配置(Configuration API)
本次我们讨论主要聚焦在以下Web.config配置文件的设置值的读取。
1、<connectionString />连接字符串的读取。
2、<appSettings />应用程序设置值的读取。
3、<mailSettings />SMTP Mail设置值的读取。
在讨论读取上面3个节点配置钱我们先讨论一下下面3个类:
1、Configuration类(System.Configuration.Configuration)。
2、WebConfigurationManager类(System.Web.Configuration.WebConfigurationManager)。
3、ConfigurationManager类(System.Configuration.ConfigurationManager)。
以下大致介绍这3个类的功能。
1、Configuration类:
可将Configuration类视为.NET应用程序的配置本体(包含Web或Windows两类应用程序),通过它访问ASP.NET网站的Web.config文件或Windows Form专案的app.config文件。但Configuration类必须要和WebConfigurationManager或ConfigurationManager类搭配,要看应用程序是ASP.NET或Windows Form类型,ASP.NET使用WebConfigurationManager类,Windows Form使用ConfigurationManager类。
2、WebConfigurationManager类:
WebConfigurationManager类是提供对Web.config的访问,例如,以WebConfigurationManager类开启Web.config某个部分(Section),再返回交由Configuration类来进行处理。
3、ConfigurationManager类
ConfigurationManager类是提供对app.config的访问权,例如,以ConfigurationManager类开启app.config某个部分,再返回交由Configuration类来进行处理。
总结归纳:最终的搭配使用方式。
1)、ASP.NET网页:Configuration类+WebConfigurationManager类。
2)、Windows Forms类型:Configuration类+ConfigurationManager类。
附注:
A、虽WebConfigurationManager与ConfigurationManager类功能是互通的,但微软建设还是清楚区分使用。
B、WebConfigurationManager与ConfigurationManager都属于静态类,可直接取用,不需要new一个instance实例。
我们这次并非对以上3大类的功能进行详细的讲解,而是聚焦在以下Web.config配置文件的设置值的读取。
<connectionStrings />、<appSettings />、<mailSettings />的读取。
我们就是用以上讲解的3大类读取Web.config文件中的配置文件部分。
以下是一个简单的项目Web.config配置:
<?xml version="1.0" encoding="utf-8"?>
<!--
有关如何配置 ASP.NET 应用程序的详细消息,请访问
http://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<appSettings>
<add key="name" value="ASP.NET"/>
<add key="desc" value="IT学习分享"/>
</appSettings>
<!--数据库连接设置-->
<connectionStrings>
<add name="FlightData" connectionString="Data Source=.;Initial Catalog=FlightData;Integrated Security=True" providerName="System.Data.SqlClient"/>
</connectionStrings>
<!--SMTP设置-->
<system.net>
<mailSettings>
<smtp from="yongguang1126@sina.com">
<network host="192.168.0.132" password="" userName=""/>
</smtp>
</mailSettings>
</system.net>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
</configuration>
1、读取<connectionStrings>部分连接字符串设置值
在此以WebConfigurationManager类的ConnectionStrings属性读取Web.config文件中<connectionStrings>部分的连接字符串设置值:
第一步:首先引用命名空间:System.Web.Configuration
第二步:引用了命名空间,我们就可以读取了
string conStr=WebConfigurationManager.ConnectionStrings["FlightData"].ConnectionString;
Response.Write("FlightData连接字符串:"+conStr);
2、读取<appSettings>部分应用程序设置值
在此以WebConfigurationManager类的AppSettings属性读取Web.config文件中<appSettings>部分应用程序设置值:
string name=WebConfigurationManager.AppSettings["name"];
Response.Write("名称:"+name+"<br />");
string desc=WebConfigurationManager.AppSettings["desc"];
Response.Write("描述:"+desc);
说明:
读取应用程序设置与读取连接字符串差不多,只差在关键词上。此外,Key(关键词)使用中文命名若发生读不到值的情况,改用英文即可。
3、读取<mailSettings>部分SMTP Mail设置
以前的ASP.NET版本对于SMTP Mail主机设置不是在程序中设置固定,就是在Web.config的ConfigurationSetting.AppSettings中指定,然后读取设置值。到了ASP.NET4.0,如果还沿用以前的做法,表面上看来好像也能读到SMTP设置,但会出现一些问题,如ASP.NET的Password Recovery控件是自动抓取SMTP设置,以发送新密码信函,故改用新的方式才不会出错,如下:
//引用命名空间
using System.Net.Configuration;
using System.Web.Configuration;
//读取实例
//开启Request所在路径网站的Web.config文件
Configuration config=WebConfigurationManager.OpenWebConfiguration(this.Request.ApplicationPath);
//取得Web.config中Mail设置部分
MailSettingsSectionGroup netSmtpMailSection=(MailSettingsSectionGroup)config.GetSectionGroup("system.net/mailSettings");
//读取显示mailSettings设置相关值
Response.Write("Mail主机名:"+netSmtpMailSection.Smtp.Network.Host+"<br />");
Response.Write("Mail主机Port:"+netSmtpMailSection.Smtp.Network.Port+"<br />");
Response.Write("Mail消息:"+netSmtpMailSection.Smtp.From+"<br />");
//如果Mail的Authentication验证模式选择Basic,则可读取UserName及Password
//Response.Write("用户姓名:"+netSmtpMailSection.Smtp.Network.UserName+"<br />");
//Response.Write("用户密码:"+netSmtpMailSection.Smtp.Network.Password+"<br />");
说明:
程序读取到SMTP设置值后,再引用到ASP.NET发信的技巧,将信件发送出去就可以了。
ASP.NET Web.config文件的配置(Configuration API)的更多相关文章
- web.config文件中配置数据库连接的两种方式
web.config文件中配置数据库连接的两种方式 标签: 数据库webconfig 2015-04-28 18:18 31590人阅读 评论(1)收藏举报 分类: 数据库(74) 在网站开发 ...
- IOC注入框架——Unity中Web.Config文件的配置与调用
Unity 应用程序块可以从 XML 配置文件中读取配置信息.配置文件可以是 Windows Forms 应用程序的 App.config 或者 ASP.NET 应用程序的 Web.config.当然 ...
- Unity中Web.Config文件的配置与调用
在上一篇文章“Unit简单依赖注入”我们可以实现构造对象和被依赖对象之间的 松耦合,使我们的抽象层(Player)能够保持稳定,但是在并没有把客户类和Player类之间彻底解耦,即当我们不想使用MP3 ...
- 如何在web.config文件中配置Session变量的生命周期
实例说明:在网上购物商城中,为了维护在线购物环境,一般只有注册会员才可以购买商品.实现购物功能时,先通过Session变量记录会员的登录名,然后在购买商品页面通过判断会员是否登录确定其能否购买商品. ...
- ASP.NET - Web.config文件详解
周金桥:asp.net夜话之十一:web.config详解 链接:http://zhoufoxcn.blog.51cto.com/792419/166441/
- 在ASP.NET项目中的web.config文件里配置数据库连接并在程序代码中获取连接字符串
1.在<connectionStrings> 标签里添加连接 <connectionStrings> <add name="ConnectionName&q ...
- Web.Config文件配置之限制上传文件大小和时间
在邮件发送系统或者其他一些传送文件的网站中,用户传送文件的大小是有限制的,因为这样不但可以节省服务器的空间,还可以提高传送文件的速度.下面介绍如何在Web.Config文件中配置限制上传文件大小与时间 ...
- SQL Server数据库连接,Web.config的正确配置 [转]
http://database.51cto.com/art/201007/213289.htm 此文章主要介绍的是Web.config正确配置SQL Server数据库连接的实际擦步骤,在图5-6中, ...
- Asp.net Web.Config - 配置元素customErrors
Asp.net配置文件的配置方式,其实在MSDN里面是写得最清楚的了.可惜之前一直未曾了解到MSDN的强大. 先贴个地址:http://msdn.microsoft.com/zh-cn/library ...
随机推荐
- Clickhouse副本表以及分布式表简单实践
集群配置: 192.168.0.106 node3 192.168.0.101 node2 192.168.0.103 node1 zookeeper配置忽略,自行实践! node1配置: <? ...
- P2360 地下城主(BFS)
感觉这道题还是蛮简单的,不过使使用了4个队列(其实只是一个)emmmmm,还是很好的 #include<iostream> #include<string> #include& ...
- Linux:Day5 shell编程初步、grep
bash的基本特性(3) 1.提供了编程环境 程序编程风格: 过程式:以指令为中心,数据服务于指令: 对象式:以数据为中心,指令服务于数据: shell程序:提供了编程能力,解释执行:过程式.解释执行 ...
- ORA-28040: No matching authentication protocol
1.2 前言部分 1.2.1 导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① 告警日志中频繁出现Using depr ...
- js超时处理
var now = new Date(); var exitTime = now.getTime() + numberMillis; //numberMillis毫秒超时参数 while (true) ...
- 内联函数:static inline 和 extern inline 的含义
引入内联函数的目的是为了解决程序中函数调用的效率问题. 函数是一种更高级的抽象.它的引入使得编程者只关心函数的功能和使用方法,而不必关心函数功能的具体实现:函数的引入可以减少程序的目标代码,实现程序代 ...
- 10分钟开发 GPS 应用,了解一下
1 前言 在导师公司实习了半个月,参加的是尾气遥测项目,我的任务是开发GPS 的相关事情,从零到有的开发出了 GPS 的 Winform 应用,在这里记录一下开发过程和简要的描述一下将 GPS 数据提 ...
- 朱晔和你聊Spring系列S1E3:Spring咖啡罐里的豆子
标题中的咖啡罐指的是Spring容器,容器里装的当然就是被称作Bean的豆子.本文我们会以一个最基本的例子来熟悉Spring的容器管理和扩展点. 阅读PDF版本 为什么要让容器来管理对象? 首先我们来 ...
- python爬虫随笔(2)—启动爬虫与xpath
启动爬虫 在上一节中,我们已经创建好了我们的scrapy项目,看着这一大堆文件,想必很多人都会一脸懵逼,我们应该怎么启动这个爬虫呢? 既然我们采用cmd命令创建了scrapy爬虫,那就得有始有终有逼格 ...
- Day12 Python基础之生成器、迭代器(高级函数)(十)
https://www.cnblogs.com/yuanchenqi/articles/5769491.html 1. 列表生成式 我现在有个需求,看列表[0, 1, 2, 3, 4, 5, 6, 7 ...