黑马程序员技术交流社区
标题:
web.config文件每一个节点的作用?
[打印本页]
作者:
杨占伟
时间:
2012-12-1 22:00
标题:
web.config文件每一个节点的作用?
本帖最后由 杨占伟 于 2012-12-3 10:12 编辑
web.config文件,每一个结点的含义是什么,以及作用是什么?
<configuration>
<connectionStrings>
<add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient"/>
</connectionStrings>
<system.web>
<compilation debug="true" targetFramework="4.0"/>
<authentication mode="Forms">
<forms loginUrl="~/Account/Login.aspx" timeout="2880"/>
</authentication>
<membership>
<providers>
<clear/>
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/"/>
</providers>
</membership>
<profile>
<providers>
<clear/>
<add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/"/>
</providers>
</profile>
<roleManager enabled="false">
<providers>
<clear/>
<add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/"/>
<add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/"/>
</providers>
</roleManager>
</system.web>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
</configuration>
作者:
罗代势
时间:
2012-12-2 14:19
1)<configuration>指定公共语言运行库和 .NET Framework 应用程序所使用的每个配置文件中均需要的根元素。
2)<system.web> 为 ASP.NET 配置节指定根元素。
3)<connectionstrings>存储所有的连接字符串
4)<compilation>对文件的动态编译进行设置 debug:指定是编译程序集还是调试程序集
5)<authentication> 节 身份验证支持(为Windows、Forms、PassPort、None四种);如果禁用身份验证可以用mode="None“
loginUrl:指定一个由于登陆的页面 timeout:表示接收到上一个请求开始后到过期的N分钟,默认是30分钟
6)<membership>使用 ASP.NET 成员资格配置用于对用户帐户进行管理和身份验证的参数 它的子元素:<providers>
7)<providers>定义成员资格提供程序的集合。[可选的元素] 它的子元素:<clear>从成员资格提供程序集合中移除成员资格提供程序的所有实例、
<add>将成员资格提供程序的实例添加到成员资格提供程序集合
8)<add>属性key="[key]"列表的键值 value="[value]"列表的值
9)<profile>是针对每个帐户的数据存储;注意profile与用户相关,我们经常用它来存储一些用户个性化的信息
9)<roleManager >为角色管理配置应用程序;属性enabled定是否要启用角色管理;如果设置为 true,则启用角色管理
10)<system.webServer>节用于指定适用于 Web 应用程序的 IIS 7.0 设置 模块(modules 元素)
作者:
黑马_黄开潮
时间:
2012-12-2 14:59
这个是我分享的内容里面的,
在Web.config配置文件中包括很多的配置节,这些配置节都用来规定ASP.NET应用程序的相应属性。
1.<configuration>:根配置节
所有Web.config的根配置节都存储与<configuration>标记中,在它内部封装了其他的配置节,示例代码如下所示。
<configuration>
<syste.web>
……
</configuration>
2.<configSections>:处理声明配置节
该配置节主要用于自定义的配置节处理程序声明,该配置节由多个“<section>”配置节组成,示例代码如下所示。
<configSections>
<sectionGroup
name="system.web.extensions"
type="System.Web.Configuration.SystemWebExtensionsSectionGroup,
System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<sectionGroup name="scripting"
type="System.Web.Configuration.ScriptingSectionGroup,
System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="scriptResourceHandler"
type="System.Web.Configuration.ScriptingScriptResourceHandlerSection,
System.Web.Extensions, Version=3.5.0.0, Culture=neutral,
PublicKeyToken=31BF3856AD364E35"
requirePermission="false" allowDefinition="MachineToApplication"/>
</sectionGroup>
</sectionGroup>
</configSections>
其中<section>配置节包括name和type两种属性,name属性指定配置数据配置节的名称,而type属性指定与name属性相关的配置处理程序类。
3.<appSettings>:用户自定义配置节
“<appSettings>”配置节为开发人员提供ASP.NET应用程序的扩展配置,通过使用“<appSettings>”配置节能够自定义配置文件,示例代码如下所示。
<appSettings>
<add key="Name" value="Guojing"/> //增加自定义配置节
<add key="E-mail" value="soundbbg@live.cn"/>
</appSettings>
上述代码添加了两个自定义配置节,这两个自定义配置节分别为Name和E-mail,用于定义该Web应用程序的开发者的信息,以便在其他页面中使用该配置节。
若需要在页面中使用该配置节,可以使用ConfigurationSettings.appSettings(“key的名称”)方法来获取自定义配置节中的配置值,示例代码如下所示。
protected void Page_Load(object sender, EventArgs e)
{
TextBox1.Text = ConfigurationSettings.AppSettings["name"].ToString(); //获取自定义配置节
}
“<appSettings>”配置节包括两个属性,分别为Key和Value。Key属性指定自定义属性的关键字,以方便在应用程序中使用该配置节,而Value属性则定义该自定义属性的值。
4.<customErrors>:用户错误配置节
该配置节能够指定当出现错误时,系统自动跳转到一个错误发生的页面,同时也能够为应用程序配置是否支持自定义错误。“<customErrors>”配置节包括两种属性,这两种属性分别为mode和defaultRedirect。其中mode包括3种状态,这三种状态分别为On、Off和RemoteOnly。On表示启动自定义错误;Off表示不启动自定义错误;RemoteOnly表示给远程用户显示自定义错误。另外:defaultRedirect属性则配置了当应用程序发生错误时跳转的页面。
“<customErrors>”配置节还包括子配置节“<error>”,该标记用于特定状态的自定义错误页面,子标记“<error>”包括两个属性,分别为statusCode和redirect,其中statusCode用于捕捉发生错误的状态码,而redirect指定发生该错误后跳转的页面,该配置节配置代码如下所示。
<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
<error statusCode="403" redirect="NoAccess.htm" />
<error statusCode="404" redirect="FileNotFound.htm" />
</customErrors>
上述代码则在Web.config文件中配置了相应的customErrors信息。当出现404错误时,系统会自行跳转到FileNotFound.htm页面以提示404错误,开发人员能够编写FileNotFound.htm页面进行用户提示。
5.<globalization>:全局编码配置节
“<globalization>”用于配置应用程序的编码类型,ASP.NET应用程序将使用该编码类型分析ASPX等页面,常用的编码类型包括:
UFT-8:Unicode UTF-8字节编码技术,ASP.NET应用程序默认编码。
UTF-16:Unicode UTF-16字节编码技术。
ASCII:标准的ASCII编码规范。
Gb2312:中文字符Gb2312编码规范。
在配置“<globalization>”配置节时,其编码类型可以参考上述编码类型,如果不指定编码类型,则ASP.NET应用程序默认编码为UTF-8,示例代码如下所示。
<globalization fileEncoding="UTF-8" requestEncoding="UTF-8" responseEncoding="UTF-8"/>
6.<sessionState>:Session状态配置节
<sessionState>配置节用于完成ASP.NET应用程序中会话状态的设置,<sessionState>配置节包括以下5种属性:
mode:指定会话状态的存储位置,一共有Off、Inproc、StateServer和SqlServer集中设置,Off表示禁用该设置,Inproc表示在本地保存会话状态,StateServer表示在服务器上保存会话状态,SqlServer表示在SQL Server保存会话设置。
stateConnectionString:用来指定远程存储会话状态的服务器名和端口号。
sqlConnectionString:用来连接SQL Server的连接字符串,当在mode属性中设置SqlServer时,则需要使用到该属性。
Cookieless:指定是否使用客户端cookie保存会话状态。
Timeout:指定在用户无操作时超时的时间,默认情况为20分钟。
<sessionState>配置节配置示例代码如下所示。
<sessionState mode="InProc" timeout="25" cookieless="false"></sessionState>
ASP.NET不仅包括这些基本的配置节,还包括其他高级的配置节,高级的配置节通常用于指定界面布局样式,如母版页、默认皮肤、以及伪静态等高级功能。
作者:
杨占伟
时间:
2012-12-3 10:11
非常感谢~~
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2