ASP.NET 配置文件

1.ASP.NET配置文件采用继承关系,其关系是:是machine.config-->web.config-->文件夹web.config。

2.关于<location/>节点节点,通常在配置权限时候,我们使用web.config对网站目录下文件夹或文件进行一个权限的限定访问,如:

<!--表示对文件夹admin1进行限制-->
<location path="admin1">
<system.web>
<authorization>
<allow roles="-100,1,2"/>
<deny users="*"/>
</authorization>
</system.web>
</location>

<!--表示对文件夹admin2以及文件admin2.aspx进行限制-->
<location path="admin2\admin2.aspx">
<system.web>
<authorization>
<allow roles="-100,3,4"/>
<deny users="*"/>
</authorization>
</system.web>
</location>

3.关于lockAttributes,lockElements,lockAllAttributesExcept,lockAllElementsExcept属性,其表示锁定某个属性或节点,继承于其配置文件的将不能重写该属性,如:

<membership lockElements="providers"
lockAttributes="defaultProvider,hashAlgorithmType">

4.关于配置文件的读写,首先对配置文件进行读取,我们都知道配置文件是一个XML文件,我们可以采用读取XML方式进行读写操作,但是,在ASP.NET中,MS提供了一套强类型的API对配置文件进行读写操作,如:

//读取操作:
using System.Web.Configuration;
using System.Configuration;
namespace ConfingDemo
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
MembershipSection ms
=
(MembershipSection)
WebConfigurationManager.GetSection(
"system.web/membership",
"~/web.config");
Response.Write(
"The default provider as set in config is: "
+ ms.DefaultProvider + "<br/>");
}
}
}

//写入操作:
using System.Web.Configuration;
using System.Configuration;
namespace ConfingDemo
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Configuration config
=
WebConfigurationManager.OpenWebConfiguration("~");
MembershipSection ms
=
(MembershipSection)config.GetSection("system.web/membership");
ms.DefaultProvider
= "someOtherProvider";
config.Save();
}
}
}

若有疑问或不正之处,欢迎提出指正和讨论。

posted @ 2010-06-07 10:10  iceknp  阅读(1705)  评论(1编辑  收藏  举报