>  기사  >  백엔드 개발  >  ASP.NET의 Web.config 구성 파일 소개

ASP.NET의 Web.config 구성 파일 소개

巴扎黑
巴扎黑원래의
2017-08-16 16:11:041461검색

이 글에서는 주로 ASP.NET Web.config 구성 파일을 자세히 소개하고 Web.config 파일 구성 방법에 대해 설명합니다. 여기에는 특정 참조 값이 있습니다. 관심 있는 친구는 이를 참조할 수 있습니다.

분석:

   구성 응용 프로그램의 모든 디렉터리에 나타날 수 있는 .NET 웹 응용 프로그램에 대한 정보(예: ASP.Net 웹 응용 프로그램 설정에 가장 일반적으로 사용되는 인증 방법). VB.NET을 통해 새 웹 응용 프로그램을 만들면 기본 구성 설정을 포함하여 기본 Web.config 파일이 루트 디렉터리에 자동으로 생성되고 모든 하위 디렉터리는 해당 구성 설정을 상속합니다. 하위 디렉터리의 구성 설정을 수정하려는 경우 하위 디렉터리에 새 Web.config 파일을 만들 수 있습니다. 상위 디렉터리에서 상속된 구성 정보 외에 구성 정보를 제공할 수 있으며 상위 디렉터리에 정의된 설정을 재정의하거나 수정할 수도 있습니다. E 런타임 중 web.config 파일 개정을 적용하기 위해 서비스를 다시 시작할 필요가 없습니다(참고: & lt; processmodel & gt; 예외). 물론 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, 930ac17b94b9e98609d20e97126e0d94

기능: ASP.NET 애플리케이션에 대한 사용자 정의 오류 메시지에 대한 정보를 제공합니다. XML Web services에서 발생하는 오류에는 적용되지 않습니다.

예: 오류가 발생하면 웹페이지를 사용자 정의 오류 페이지로 이동합니다.


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

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


5, ed4fc545903c54f8016479f974509b32 섹션

기능: ASP.NET HTTP 런타임 설정을 구성합니다. 이 섹션은 컴퓨터, 사이트, 응용 프로그램 및 하위 디렉터리 수준에서 선언될 수 있습니다.

예: 사용자 업로드 파일의 최대 크기를 4M, 최대 시간을 60초, 최대 요청 수를 100으로 제어합니다.

& lt; httpruntime executionTimeout = "36000"DelayNotificationTimeout = "36000"maxRequestLength = "2147483647"AppRrequestqueUelimit = "100"TargetFrameword = "4.5"& gt;

作用:标识特定于页的配置设置(如是否启用会话状态、视图状态,是否检测用户的输入等)。98a781c16ebd9970b20c936d9f199ebe可以在计算机、站点、应用程序和子目录级别声明。
 示例:不检测用户在浏览器输入的内容中是否存在潜在的危险数据(注:该项默认是检测,如果你使用了不检测,一要对用户的输入进行编码或验证),在从客户端回发页时将检查加密的视图状态,以验证视图状态是否已在客户端被篡改。(注:该项默认是不验证)

510da866e84dc56be06a79ed75c153a1

7、5717e0daa4654c02232c8f843dae6721

 作用:为当前应用程序配置会话状态设置(如设置是否启用会话状态,会话状态保存位置)。
 示例:


< 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으로 문의하세요.