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

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

Jan 13, 2017 pm 01:49 PM

분석:

애플리케이션의 모든 디렉터리에 나타날 수 있는 .NET 웹 애플리케이션의 구성 정보(예: ASP.Net 웹 애플리케이션 설정에 가장 일반적으로 사용되는 인증 방법). VB.NET을 통해 새 웹 응용 프로그램을 만들면 기본 구성 설정을 포함하여 기본 Web.config 파일이 루트 디렉터리에 자동으로 생성되고 모든 하위 디렉터리는 해당 구성 설정을 상속합니다. 하위 디렉터리의 구성 설정을 수정하려는 경우 하위 디렉터리에 새 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文件配置节过程分为两步。

一是在在配置文件顶部 标记之间声明配置节的名称和处理该节中配置数据的 .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配置文件详解相关文章请关注PHP中文网!

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

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

C 언어로 Null의 대안은 무엇입니까? C 언어로 Null의 대안은 무엇입니까? Mar 03, 2025 pm 05:37 PM

이 기사는 C의 Null 포인터 단축의 도전에 대해 탐구합니다. 그것은 문제가 그 자체가 아니라 오용한다고 주장합니다. 이 기사는 사전 수준 점검, 포인터 이니셜을 포함한 수반을 방지하기위한 모범 사례에 대해 자세히 설명합니다.

차세대 C 컴파일러를 추가하는 방법 차세대 C 컴파일러를 추가하는 방법 Mar 03, 2025 pm 05:44 PM

이 기사에서는 printf 내에서 \ n 탈출 시퀀스를 사용하여 C에서 Newline 문자를 만드는 방법을 설명하고 함수를 넣습니다. 기능을 자세히 설명하고 출력에서 ​​라인 브레이크 사용을 보여주는 코드 예제를 제공합니다.

어떤 C 언어 컴파일러가 더 낫습니까? 어떤 C 언어 컴파일러가 더 낫습니까? Mar 03, 2025 pm 05:39 PM

이 기사는 초보자가 C 컴파일러를 선택하도록 안내합니다. GCC는 사용 편의성, 광범위한 가용성 및 광범위한 리소스로 인해 초보자에게 가장 적합하다고 주장합니다. 그러나 GCC, Clang, MSVC 및 TCC도 비교하여 차이를 강조합니다.

Null은 C 언어로 된 현대 프로그래밍에서 여전히 중요합니까? Null은 C 언어로 된 현대 프로그래밍에서 여전히 중요합니까? Mar 03, 2025 pm 05:35 PM

이 기사는 현대 C 프로그래밍에서 NULL의 지속적인 중요성을 강조합니다. 발전에도 불구하고 NULL은 명시적인 포인터 관리에 중요하며, 유효한 메모리 주소가 없음을 표시하여 세분화 결함을 방지합니다. 최고의 PRAC

C 언어 컴파일러의 웹 버전은 무엇입니까? C 언어 컴파일러의 웹 버전은 무엇입니까? Mar 03, 2025 pm 05:42 PM

이 기사에서는 초보자를위한 온라인 C 컴파일러를 검토하여 사용 편의성 및 디버깅 기능에 중점을 둡니다. OnlineGDB 및 Repl.it는 사용자 친화적 인 인터페이스 및 유용한 디버깅 도구를 위해 강조 표시됩니다. 프로그램 및 컴파일과 같은 다른 옵션

C 언어 온라인 프로그래밍 웹 사이트 C 언어 컴파일러 공식 웹 사이트 요약 C 언어 온라인 프로그래밍 웹 사이트 C 언어 컴파일러 공식 웹 사이트 요약 Mar 03, 2025 pm 05:41 PM

이 기사는 온라인 C 프로그래밍 플랫폼을 비교하여 디버깅 도구, IDE 기능, 표준 컴플라이언스 및 메모리/실행 제한과 같은 기능의 차이점을 강조합니다. "최고의"플랫폼은 사용자의 요구에 달려 있다고 주장합니다.

C 언어 컴파일러에 의해 코드를 복사하는 방법 C 언어 컴파일러에 의해 코드를 복사하는 방법 Mar 03, 2025 pm 05:43 PM

이 기사에서는 C IDE의 효율적인 코드 복사에 대해 설명합니다. 복사는 컴파일러 기능이 아닌 IDE 기능이며 IDE 선택 도구 사용, 코드 폴딩, 검색/교체, Templa를 포함하여 효율성 향상을위한 세부 사항 전략을 강조합니다.

C 언어 컴파일러에 의해 출력 창을 팝업하지 않는 문제를 해결하는 방법 C 언어 컴파일러에 의해 출력 창을 팝업하지 않는 문제를 해결하는 방법 Mar 03, 2025 pm 05:40 PM

이 기사는 C 프로그램 컴파일에서 누락 된 출력 창을 문제 해결합니다. 실행 가능, 프로그램 오류, 잘못된 컴파일러 설정, 백그라운드 프로세스 및 빠른 프로그램 종료와 같은 원인을 검사합니다. 솔루션은 ch

See all articles