분석:
애플리케이션의 모든 디렉터리에 나타날 수 있는 .NET 웹 애플리케이션의 구성 정보(예: ASP.Net 웹 애플리케이션 설정에 가장 일반적으로 사용되는 인증 방법). VB.NET을 통해 새 웹 응용 프로그램을 만들면 기본 구성 설정을 포함하여 기본 Web.config 파일이 루트 디렉터리에 자동으로 생성되고 모든 하위 디렉터리는 해당 구성 설정을 상속합니다. 하위 디렉터리의 구성 설정을 수정하려는 경우 하위 디렉터리에 새 Web.config 파일을 만들 수 있습니다. 상위 디렉터리에서 상속된 구성 정보 외에 구성 정보를 제공할 수 있으며 상위 디렉터리에 정의된 설정을 재정의하거나 수정할 수도 있습니다.
런타임 중 Web.config 파일에 대한 수정 사항은 서비스를 다시 시작하지 않고도 적용됩니다(참고:
1. web.config 구성 파일(기본 구성 설정)
간단함을 위해 다음 코드는 모두 다음 코드 사이에 위치해야 합니다. 이 XML 태그입니다.
< configuration> < system.web> < /system.web> < /configuration>
1.
기능: ASP.NET 인증 지원을 구성합니다(Windows, Forms, PassPort, 없음). 이 요소는 컴퓨터, 사이트 또는 응용 프로그램 수준에서만 선언할 수 있습니다.
예: 다음 예는 로그인하지 않은 사용자가 인증이 필요한 웹 페이지에 액세스하면 해당 웹 페이지가 자동으로 로그인 웹 페이지로 이동합니다.
< authentication mode="Forms"> < forms loginUrl="logon.aspx" name=".FormsAuthCookie"/> < /authentication>
loginUrl 요소는 로그인 웹페이지의 이름을 나타내고, name은 쿠키 이름을 나타냅니다.
2.
기능: URL 리소스에 대한 클라이언트 액세스를 제어합니다(예: 익명 사용자의 액세스 허용). 이 요소는 모든 수준(컴퓨터, 사이트, 응용 프로그램, 하위 디렉터리 또는 페이지)에서 선언할 수 있습니다.
예: 다음 예는 익명 사용자의 액세스를 금지합니다.
< authorization> < deny users="?"/> < /authorization>
참고: user.identity.name을 사용하여 현재 인증된 사용자 이름을 가져올 수 있으며 web.Security.FormsAuthentication.RedirectFromLoginPage 메서드를 사용할 수 있습니다. 인증된 사용자를 사용자가 방금 요청한 페이지로 리디렉션합니다.
3.
기능: ASP.NET에서 사용되는 모든 컴파일 설정을 구성합니다. 기본 디버그 속성은 "True"입니다. 프로그램을 컴파일하고 사용하기 위해 전달한 후에는 True로 설정해야 합니다(자세한 지침은 Web.config 파일에 있으며 여기에서는 예제가 생략됨)
4, < customErrors>
함수: ASP.NET 응용 프로그램에 대한 사용자 정의 오류 메시지에 대한 정보를 제공합니다. XML Web services에서 발생하는 오류에는 적용되지 않습니다.
예: 오류가 발생하면 웹페이지를 사용자 정의 오류 페이지로 이동합니다.
< customErrors defaultRedirect="ErrorPage.aspx" mode="RemoteOnly"> < /customErrors>
defaultRedirect 요소는 사용자 정의된 오류 웹 페이지의 이름을 나타냅니다. 모드 요소의 의미: 로컬 웹 서버에서 실행하지 않는 사용자에게 사용자 정의(친숙한) 정보를 표시합니다.
5.
기능: ASP.NET HTTP 런타임 설정을 구성합니다. 이 섹션은 컴퓨터, 사이트, 응용 프로그램 및 하위 디렉터리 수준에서 선언될 수 있습니다.
예: 사용자 업로드 파일의 최대 크기를 4M, 최대 시간을 60초, 최대 요청 수를 100으로 제어합니다.
6.
기능: 페이지별 구성 설정을 식별합니다(예: 세션 상태 활성화 여부, 보기 상태, 사용자 입력 감지 여부 등). <페이지>는 컴퓨터, 사이트, 응용 프로그램 및 하위 디렉터리 수준에서 선언될 수 있습니다.
예: 사용자가 브라우저에 입력한 콘텐츠에 잠재적으로 위험한 데이터가 있는지 감지하지 않습니다. (참고: 이 항목은 기본적으로 감지로 설정되어 있습니다. 비탐지를 사용하는 경우 사용자 입력을 인코딩하거나 확인해야 합니다.) 페이지가 클라이언트에서 포스트백될 때 암호화된 보기 상태를 검사하여 클라이언트 측에서 보기 상태가 변조되지 않았는지 확인합니다. (참고: 이 항목은 기본적으로 확인되지 않습니다.)
< 페이지 buffer="true" 활성화ViewStateMac="true" verifyRequest="false"/>
7, < ; sessionState>
기능: 현재 애플리케이션에 대한 세션 상태 설정을 구성합니다(예: 세션 상태 활성화 여부 및 세션 상태 저장 위치 설정).
예:
< sessionState mode="InProc" cookieless="true" timeout="20"/> < /sessionState>
注:
mode="InProc"表示:在本地储存会话状态(你也可以选择储存在远程服务器或SAL服务器中或不启用会话状态)
cookieless="true"表示:如果用户浏览器不支持Cookie时启用会话状态(默认为False)
timeout="20"表示:会话可以处于空闲状态的分钟数
8、
作用:配置 ASP.NET 跟踪服务,主要用来程序测试判断哪里出错。
示例:以下为Web.config中的默认配置:
< trace enabled="false" requestLimit="10" pageOutput="false" traceMode="SortByTime" localOnly="true" />
注:
enabled="false"表示不启用跟踪;requestLimit="10"表示指定在服务器上存储的跟踪请求的数目
pageOutput="false"表示只能通过跟踪实用工具访问跟踪输出;
traceMode="SortByTime"表示以处理跟踪的顺序来显示跟踪信息;
localOnly="true" 表示跟踪查看器 (trace.axd) 只用于宿主 Web 服务器;
9、
<system.webServer> <security> <requestFiltering> <requestLimits maxAllowedContentLength="2147483648"/> </requestFiltering> </security> </system.webServer>
二、自定义Web.config文件配置节
自定义Web.config文件配置节过程分为两步。
一是在在配置文件顶部
二是在
示例:创建一个节存储数据库连接字符串
< configuration> < configSections> < section name="appSettings" type="System.Configuration.NameValueFileSectionHandler, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/> < /configSections> < appSettings> < add key="scon" value="server=a;database=northwind;uid=sa;pwd=123"/> < /appSettings> < system.web> ...... < /system.web> < /configuration>
三、访问Web.config文件
你可以通过使用ConfigurationSettings.AppSettings 静态字符串集合来访问 Web.config 文件示例:获取上面例子中建立的连接字符串。
四、创建Web.config文件
1.在“解决方案资源管理器”中,单击“刷新”图标以确认应用程序还没有 Web.config 文件。
如果已使用网站管理工具或某些其他方式来配置应用程序,则可能已自动创建了 Web.config 文件。单击“刷新”更新文件列表。
2.在“解决方案资源管理器”中,右击网站名称,然后单击“添加新项”。
3.在“模板”窗口中,单击“Web 配置文件”
“名称”文本框中的文件名应为Web.config。可以为该文件提供其他名称,不过这是默认名称。.config 文件扩展名可防止 ASP.NET 下载相应文件。
4.单击“添加”创建该文件,然后将其打开进行编辑。
该文件包含本主题后面“示例”部分中显示的代码,并具有一些初始默认值。应用程序从 %SystemRoot%\Microsoft.NET\Framework\<版本>\CONFIG 目录下的 Machine.config 和 Web.config 文件继承所有配置设置,但在此处看不到这些默认设置。如果要重写继承的默认设置或添加 httpHandlers 元素(ASP.NET 设置架构) 等集合元素,则只需创建应用程序级别和目录级别的 Web.config 文件。
若要查看当前应用程序的所有配置设置,可以运行主题如何:以编程方式查看继承的配置设置和本地配置设置中包含的代码。也可以查看 %SystemRoot%\Microsoft.NET\Framework\<版本>\CONFIG 目录下的Machine.config.comments 或 Web.config.comments 文件(这两个文件也包含有用的注释),但这两个文件将不会包含所有运行时设置,请参见如何:以编程方式查看继承的配置设置和本地配置设置。
5.如果更改了 Web.config 文件,则保存该文件。
保存 Web.config 文件会重新启动应用程序。也可以选择使用单个节元素的 configSource 属性指向某个辅助配置文件,更改辅助配置文件不会导致应用程序重新启动。有关更多信息,请参见节元素所继承的常规属性中的 configSource。
Web.config是asp.net应用程序中一个很重要的配置文件,通过Web.config文件可以方便我们进行开发和部署asp.net应用程序。通过本文的介绍,希望对你有帮助,供参考。
更多ASP.NET Web.config配置文件详解相关文章请关注PHP中文网!