>백엔드 개발 >C#.Net 튜토리얼 >ASP.NET 구성 파일 Web.config에 대한 자세한 설명

ASP.NET 구성 파일 Web.config에 대한 자세한 설명

高洛峰
高洛峰원래의
2017-01-13 13:40:361306검색

Web.config 파일은 ASP.NET 웹 애플리케이션의 구성 정보(예: ASP.NET 웹 애플리케이션 설정에 가장 일반적으로 사용되는 인증 방법)를 저장하는 데 사용되는 XML 텍스트 파일입니다. 각 디렉토리의 응용 프로그램에 나타납니다. VB.NET을 통해 새 웹 응용 프로그램을 만들면 기본 구성 설정을 포함하여 기본 Web.config 파일이 루트 디렉터리에 자동으로 생성되고 모든 하위 디렉터리는 해당 구성 설정을 상속합니다. 하위 디렉터리의 구성 설정을 수정하려는 경우 하위 디렉터리에 새 Web.config 파일을 만들 수 있습니다. 상위 디렉터리에서 상속된 구성 정보 외에 구성 정보를 제공할 수 있으며 상위 디렉터리에 정의된 설정을 재정의하거나 수정할 수도 있습니다.

ASP.NET 구성 파일 Web.config에 대한 자세한 설명

런타임 중 Web.config 파일에 대한 수정 사항은 서비스를 다시 시작하지 않고도 적용될 수 있습니다(참고: 섹션에 대한 예외). 물론 Web.config 파일은 확장 가능합니다. 새로운 구성 매개변수를 사용자 정의하고 구성 섹션 핸들러를 작성하여 이를 처리할 수 있습니다.

1. web.config 구성 파일(기본 구성 설정)

다음 코드는 모두

사이, 학습 목적으로 아래 예시에서는 생략 이 XML 태그

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

<httpRuntime maxRequestLength="4096" executi appRequestQueueLimit="100"/>

6,

로 제어합니다.

기능: 식별 페이지별 구성 설정(예: 세션 상태 활성화 여부, 상태 보기, 사용자 입력 감지 여부 등) 는 컴퓨터, 사이트, 응용 프로그램 및 하위 디렉터리 수준에서 선언될 수 있습니다.

예: 사용자가 브라우저에 입력한 콘텐츠에 잠재적으로 위험한 데이터가 있는지 감지하지 않습니다. (참고: 이 항목은 기본적으로 감지로 설정되어 있습니다. 비탐지를 사용하는 경우 사용자의 정보를 인코딩하거나 확인해야 합니다. 입력), 클라이언트에서 페이지가 다시 게시될 때 암호화된 보기 상태를 검사하여 클라이언트 측에서 보기 상태가 변조되지 않았는지 확인합니다. (참고: 이 항목은 기본적으로 확인되지 않습니다.)

<pages buffer="true" enableViewStateMac="true" validateRequest="false"/>

7.

기능: 현재 애플리케이션에 대한 세션 상태 설정을 구성합니다(예: 세션 상태 활성화 여부 설정, 세션 상태 저장 위치).

예:

<sessionState mode="InProc" cookieless="true" timeout="20"/>  
</sessionState>

참고:

mode="InProc"은 세션 상태를 로컬에 저장하는 것을 의미합니다(원격 서버나 SAL 서버에 저장하도록 선택할 수도 있음). 세션 상태 활성화 아님)

cookieless="true" 의미: 사용자의 브라우저가 쿠키를 지원하지 않는 경우 세션 상태 활성화(기본값은 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 服务器

二、自定义Web.config文件配置节

自定义Web.config文件配置节过程分为两步。

一是在在配置文件顶部 标记之间声明配置节的名称和处理该节中配置数据的 .NET Framework 类的名称。

二是在 区域之后为声明的节做实际的配置设置。

示例:创建一个节存储数据库连接字符串

<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有更深入的了解。

更多ASP.NET 구성 파일 Web.config에 대한 자세한 설명相关文章请关注PHP中文网!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.