webconfig详解

<!--Webconfig文件是一个xml文件,configuration是xml文件的根节点,由于xml文件的根节点只能有一个,所以Webconfig的所有配置都是在这个节点内进行的。-->

<!--appSettings是应用程序设置,可以定义应用程序的全局常量设置等信息-->

<appSettings>

<add key="gao" value="weipeng" />

</appSettings>

读取:首先添加对System.Configuration.dll 文件的引用

private string key = ConfigurationManager.AppSettings["gao"];

身份认证节点配置:

节点上下级:System.web->authentication

<authentication mode="Forms">
<forms name="xxx" loginUrl="~/login" protection="All" timeout="15" path="/" requireSSL="false" slidingExpiration="true" />
</authentication>
Windows 将 Windows 验证指定为默认的身份验证模式。当使用以下任意形式的 Microsoft Internet 信息服务 (IIS) 身份验证时使用该模式:基本、简要、集成的 Windows 验证 (NTLM/Kerberos) 或证书。
 
Forms 将 ASP.NET 基于窗体的身份验证指定为默认的身份验证模式。
 
Passport 将 Microsoft Passport 身份验证指定为默认的身份验证模式。
 
None 不指定任何身份验证。只有匿名用户是预期的或者应用程序可以处理事件以提供其自身的身份验证。

其中Forms应该是使用最多的.

I.Name: 指定完成身份验证的Http cookie的名称.

II.LoginUrl: 如果未通过验证或超时后重定向的页面URL,一般为登录页面,让用户重新登录

III.Protection: 指定 cookie数据的保护方式.
可设置为: All None Encryption Validation四种保护方式

a. All表示加密数据,并进行有效性验证两种方式

b. None表示不保护Cookie.

c. Encryption表示对Cookie内容进行加密

d. validation表示对Cookie内容进行有效性验证

IV. TimeOut: 身份认证的过期时间,单位是分钟,也就是你登录了之后,这个登录信息的过期时间
如果你配置了authentication这个节点,那么未登录用户就只能访问你设置的loginUrl这个路径,而登录过的用户只要没有过期是所有页面都能访问的.
指定Cookie的失效时间. 超时后要重新登录.


文件上传节点配置:

节点上下级关系:System.web -> httpRuntime
<httpRuntime targetFramework="4.5" maxRequestLength="10240" />
这个节点的属性多而杂,其中重要的:

maxRequestLength:表示最大上传文件的大小,单位是KB

shutdownTimeout:指定允许辅助进程关闭的分钟数。在达到该超时时间时,ASP.NET 关闭辅助进程

 

错误处理节点配置:


节点上下级关系:system.web->customErrors

<customErrors mode="On" defaultRedirect="Err.html">
<error statusCode="404" redirect="404.html"/>
<error statusCode="500" redirect="500.html" />
<error statusCode="403" redirect="403.html"/>
</customErrors>

当你的网页发生错误时跳转的错误页面:

mode:

On    指定启用自定义错误。如果未指定 defaultRedirect,用户将看到一般性错误。

Off     指定禁用自定义错误。这允许显示标准的详细错误。

RemoteOnly   指定仅向远程客户端显示自定义错误并且向本地主机显示 ASP.NET 错误。这是默认值。 一般这个是最后写的,本地调试用Off,发布时用ReomoteOnly

defaultRedirect:  用于出现错误时重定向的URL地址

statusCode:   错误页面的代码,如果出现指定错误代码则跳转到对应节点的redirect对应页面

 

节点上下级关系:system.web->compilation
<compilation debug="true" targetFramework="4.5.1" />

default language: 定义后台代码语言,可以选择C#和VB.net两种语言.
debug : 为true时,启动aspx调试; 为false不启动aspx调试,因而可以提高应用程序运行
时的性能。 一般程序员在开发时设置为true,交给客户时设置为false.

posted on 2019-03-15 16:21  heihaha  阅读(805)  评论(0编辑  收藏  举报