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

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

高洛峰
高洛峰원래의
2017-01-13 13:49:581723검색

분석:

애플리케이션의 모든 디렉터리에 나타날 수 있는 .NET 웹 애플리케이션의 구성 정보(예: ASP.Net 웹 애플리케이션 설정에 가장 일반적으로 사용되는 인증 방법). VB.NET을 통해 새 웹 응용 프로그램을 만들면 기본 구성 설정을 포함하여 기본 Web.config 파일이 루트 디렉터리에 자동으로 생성되고 모든 하위 디렉터리는 해당 구성 설정을 상속합니다. 하위 디렉터리의 구성 설정을 수정하려는 경우 하위 디렉터리에 새 Web.config 파일을 만들 수 있습니다. 상위 디렉터리에서 상속된 구성 정보 외에 구성 정보를 제공할 수 있으며 상위 디렉터리에 정의된 설정을 재정의하거나 수정할 수도 있습니다.
런타임 중 Web.config 파일에 대한 수정 사항은 서비스를 다시 시작하지 않고도 적용됩니다(참고: 8b8cd1dbb5a33604e3cb18bedb4a3ff2 섹션의 예외). 물론 Web.config 파일은 확장 가능합니다. 새로운 구성 매개변수를 사용자 정의하고 구성 섹션 핸들러를 작성하여 이를 처리할 수 있습니다.

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

간단함을 위해 다음 코드는 모두 다음 코드 사이에 위치해야 합니다. 이 XML 태그입니다.

< configuration>
  < system.web>
  < /system.web>
< /configuration>

1. 80d2680783d84d323c0b46b6b9a1b282 섹션

기능: ASP.NET 인증 지원을 구성합니다(Windows, Forms, PassPort, 없음). 이 요소는 컴퓨터, 사이트 또는 응용 프로그램 수준에서만 선언할 수 있습니다. 80d2680783d84d323c0b46b6b9a1b282 요소는 e4313658e6823a84c0d534d9c597317f 섹션과 함께 사용해야 합니다.

예: 다음 예는 로그인하지 않은 사용자가 인증이 필요한 웹 페이지에 액세스하면 해당 웹 페이지가 자동으로 로그인 웹 페이지로 이동합니다.

< authentication mode="Forms">
  < forms loginUrl="logon.aspx" name=".FormsAuthCookie"/>
< /authentication>

loginUrl 요소는 로그인 웹페이지의 이름을 나타내고, name은 쿠키 이름을 나타냅니다.

2. e4313658e6823a84c0d534d9c597317f 섹션

기능: URL 리소스에 대한 클라이언트 액세스를 제어합니다(예: 익명 사용자의 액세스 허용). 이 요소는 모든 수준(컴퓨터, 사이트, 응용 프로그램, 하위 디렉터리 또는 페이지)에서 선언할 수 있습니다. 80d2680783d84d323c0b46b6b9a1b282 섹션과 함께 필요합니다.
예: 다음 예는 익명 사용자의 액세스를 금지합니다.

< authorization>
 < deny users="?"/>
< /authorization>

참고: user.identity.name을 사용하여 현재 인증된 사용자 이름을 가져올 수 있으며 web.Security.FormsAuthentication.RedirectFromLoginPage 메서드를 사용할 수 있습니다. 인증된 사용자를 사용자가 방금 요청한 페이지로 리디렉션합니다.

3. eb1e998bd0c2951b98f5b6c85c7e4615 섹션

기능: ASP.NET에서 사용되는 모든 컴파일 설정을 구성합니다. 기본 디버그 속성은 "True"입니다. 프로그램을 컴파일하고 사용하기 위해 전달한 후에는 True로 설정해야 합니다(자세한 지침은 Web.config 파일에 있으며 여기에서는 예제가 생략됨)

4, 216e48520ddd471ec1fbd5c4d955bcec

함수: ASP.NET 응용 프로그램에 대한 사용자 정의 오류 메시지에 대한 정보를 제공합니다. XML Web services에서 발생하는 오류에는 적용되지 않습니다.
예: 오류가 발생하면 웹페이지를 사용자 정의 오류 페이지로 이동합니다.

< customErrors defaultRedirect="ErrorPage.aspx" mode="RemoteOnly"> 
< /customErrors>

defaultRedirect 요소는 사용자 정의된 오류 웹 페이지의 이름을 나타냅니다. 모드 요소의 의미: 로컬 웹 서버에서 실행하지 않는 사용자에게 사용자 정의(친숙한) 정보를 표시합니다.

5. ed4fc545903c54f8016479f974509b32 섹션

기능: ASP.NET HTTP 런타임 설정을 구성합니다. 이 섹션은 컴퓨터, 사이트, 응용 프로그램 및 하위 디렉터리 수준에서 선언될 수 있습니다.
예: 사용자 업로드 파일의 최대 크기를 4M, 최대 시간을 60초, 최대 요청 수를 100으로 제어합니다.

b058b2f2818f07714eaa79983fa8d17f3831d64b9ff08109d75152437feda733

6. 98a781c16ebd9970b20c936d9f199ebe

기능: 페이지별 구성 설정을 식별합니다(예: 세션 상태 활성화 여부, 보기 상태, 사용자 입력 감지 여부 등). ad542ce6ec1831459de692e2cf6d458c는 컴퓨터, 사이트, 응용 프로그램 및 하위 디렉터리 수준에서 선언될 수 있습니다.
예: 사용자가 브라우저에 입력한 콘텐츠에 잠재적으로 위험한 데이터가 있는지 감지하지 않습니다. (참고: 이 항목은 기본적으로 감지로 설정되어 있습니다. 비탐지를 사용하는 경우 사용자 입력을 인코딩하거나 확인해야 합니다.) 페이지가 클라이언트에서 포스트백될 때 암호화된 보기 상태를 검사하여 클라이언트 측에서 보기 상태가 변조되지 않았는지 확인합니다. (참고: 이 항목은 기본적으로 확인되지 않습니다.)

3decf0c2818ed0d08c4ca1bdf2e7d57d

7, < ; sessionState>

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

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

 注:
 mode="InProc"表示:在本地储存会话状态(你也可以选择储存在远程服务器或SAL服务器中或不启用会话状态)
 cookieless="true"表示:如果用户浏览器不支持Cookie时启用会话状态(默认为False)
 timeout="20"表示:会话可以处于空闲状态的分钟数

 8、aaee0798d61f0c1688dd8c23d7e1cc45 

 作用:配置 ASP.NET 跟踪服务,主要用来程序测试判断哪里出错。
 示例:以下为Web.config中的默认配置:

ee811ff3d61828767fb5c6ffab003cce

注:
 enabled="false"表示不启用跟踪;requestLimit="10"表示指定在服务器上存储的跟踪请求的数目
 pageOutput="false"表示只能通过跟踪实用工具访问跟踪输出;
 traceMode="SortByTime"表示以处理跟踪的顺序来显示跟踪信息;
 localOnly="true" 表示跟踪查看器 (trace.axd) 只用于宿主 Web 服务器;

9、1dcc4c920d99d48189de261dfba48f61

<system.webServer>
  <security>
   <requestFiltering>
    <requestLimits maxAllowedContentLength="2147483648"/>
   </requestFiltering>
  </security>
</system.webServer>

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

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

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

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

< 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\725e7c8a0cf2bfbdc143d67566e91876\CONFIG 目录下的 Machine.config 和 Web.config 文件继承所有配置设置,但在此处看不到这些默认设置。如果要重写继承的默认设置或添加 httpHandlers 元素(ASP.NET 设置架构) 等集合元素,则只需创建应用程序级别和目录级别的 Web.config 文件。

若要查看当前应用程序的所有配置设置,可以运行主题如何:以编程方式查看继承的配置设置和本地配置设置中包含的代码。也可以查看 %SystemRoot%\Microsoft.NET\Framework\725e7c8a0cf2bfbdc143d67566e91876\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中文网!

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