Home > Backend Development > C#.Net Tutorial > Detailed explanation of ASP.NET Web.config configuration file

Detailed explanation of ASP.NET Web.config configuration file

高洛峰
Release: 2017-01-13 13:49:58
Original
1703 people have browsed it

Analysis:

.NET Web application configuration information (such as the most commonly used authentication method for setting ASP.Net Web applications), which can appear in every directory of the application. When you create a new Web application through VB.NET, a default Web.config file will be automatically created in the root directory by default, including default configuration settings, and all subdirectories will inherit its configuration settings. If you want to modify the configuration settings of a subdirectory, you can create a new Web.config file in the subdirectory. It can provide configuration information in addition to the configuration information inherited from the parent directory, and can also override or modify settings defined in the parent directory.
Modifications to the Web.config file during runtime will take effect without restarting the service (Note: Exception in the section). Of course the Web.config file is extensible. You can customize new configuration parameters and write configuration section handlers to handle them.

1. web.config configuration file (default configuration settings)

All the following codes should be located between the following codes. For the sake of simplicity, the following examples are omitted. This XML tag.

< configuration>
  < system.web>
  < /system.web>
< /configuration>
Copy after login

1. Section

Function: Configure ASP.NET authentication support (for Windows, Forms, PassPort, None). This element can only be declared at the computer, site, or application level. The element must be used with the section.

eg: The following example is a form-based authentication configuration site. When a user who is not logged in accesses a webpage that requires authentication, the webpage automatically jumps to the login webpage.

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

The element loginUrl represents the name of the login web page, and name represents the cookie name.

2. Section

Function: Control client access to URL resources (such as allowing anonymous users to access). This element can be declared at any level (computer, site, application, subdirectory, or page). Required in conjunction with the section.
Example: The following example prohibits access by anonymous users

< authorization>
 < deny users="?"/>
< /authorization>
Copy after login

Note: You can use user.identity.name to get the current authenticated user name; you can use the web.Security.FormsAuthentication.RedirectFromLoginPage method Redirect authenticated users to the page the user just requested.

3. Section

Function: Configure all compilation settings used by ASP.NET. The default debug attribute is "True". It should be set to True after the program is compiled and delivered for use (details are described in the Web.config file, examples are omitted here)

4,

Function: Provide information about custom error messages for ASP.NET applications. It does not apply to errors that occur in XML Web services.
Example: When an error occurs, jump the web page to a custom error page.

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

The element defaultRedirect represents the name of the customized error web page. The mode element means: display custom (friendly) information to users who are not running on the local web server.

5. Section

Function: Configure ASP.NET HTTP runtime settings. This section can be declared at the computer, site, application, and subdirectory levels.
Example: Control the maximum size of user upload files to 4M, the maximum time to 60 seconds, and the maximum number of requests to 100.


6.

Function: Identifies page-specific configuration settings (such as whether to enable session state, view state, whether to detect user input, etc.). can be declared at the computer, site, application, and subdirectory levels.
Example: Do not detect whether there is potentially dangerous data in the content entered by the user in the browser (Note: This item defaults to detection. If you use non-detection, you must encode or verify the user's input). The encrypted view state is checked when the page is posted back from the client to verify that the view state has not been tampered with on the client side. (Note: This item is not verified by default)

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

7、< sessionState>

Function: Configure session state settings for the current application (such as setting whether to enable session state and where to save session state).
Example:

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

注:
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>
Copy after login

二、自定义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>
Copy after login

三、访问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中文网!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template