来源:微信公众号CodeL
1.配置文件层次分类
- Machine.config: 对.netframework整体的配置
- web.config(framework目录下): 对所有项目所公有的应用程序配置
- web.config(应用程序下): 对当前应用程序的配置(项目目录中常见的)
2.运行顺序
配置文件的运行顺序从大到小,从公有到私有:machine.config -> (公有)web.config -> (私有)web.config
当前配置文件决定了所在目录及其子目录的配置信息,并且子目录下的配置信息覆盖其父目录的配置,多个web.config文件时,以最近的一个web.config配置为准。
3.常用方法与问题分享
1. MVC自定义路由无法访问
先给大家分享一个在MVC开发中遇到的问题,可能很多童鞋都有遇到过,就是自定义路由无法访问:
解决办法(添加如下配置):
<system.webServer>
<!--允许访问自定义路由的路径-->
<modules runAllManagedModulesForAllRequests="true">
<remove name="FormsAuthenticationModule" />
</modules>
</system.webServer>
2. 引用外部配置文件进行扩展
比如我们有一个外部配置文件My.Config,起内容如下:
<?xml version="1.0"?>
<appSettings>
<!--单页可提交数据量-->
<add key="aspnet:MaxHttpCollectionKeys" value="5000" />
<!--单页显示数据行数-->
<add key="PageSize" value="20"/>
<!--是否发送短信提醒 1发送 0不发送-->
<add key="sendMsg" value="1"/>
<add key="ClientID" value="1065902100656"/>
</appSettings>
引用方法:在web.config中:<appSettings configSource="My.config"/>
3.自定义HttpModule和Httphandler的使用
对于写好的自定义HttpModule和Httphandler,我们需要进行配置才会使我们写好的代码开始工作,比如自定义了一个MyHttpModule.cs,需要加如下配置才会生效:
<!--IIS6或者IIS7经典模式-->
<system.web>
<httpModules>
<add name="mymodule" type="命名空间.MyHttpModule"/>
</httpModules>
</system.web>
<!--IIS7集成模式-->
<system.webServer>
<modules>
<add name="mymodule" type="命名空间.MyHttpModule"/>
</modules>
</system.webServer>
4.配置文件节点说明
根结点:<configuration>
子节点:
-
<appSettings>节点:主要用来存储应用程序的一些配置信息,通过Key获取Value<appSettings>
<add key="send" value="0"/>
</appSettings>
2. <connectionStrings>节点:主要用于配置数据库连接,方便调整数据库连接信息 <connectionStrings>
<!--SQL Server数据库配置-->
<add name="ConnectionString1" connectionString="Data Source=127.0.0.1;Initial Catalog=AspNetStudy;User ID=sa;Password=12"/>
</connectionStrings>
3. <compilation>节点:编译设置。默认的debug属性为“true”,即允许调试,在这种情况下会影响网站的性能,所以在网站上线之后应将其设为“false”。<compilation debug="true" targetFramework="4.5" />
4. <customErrors>节点:用于定义自定义错误信息<customErrors mode="On"/>defaultRedirect说明:表示应用程序发生错误时重定向到的默认URLMode 说明:
On:表示在本地和远程用户都会看到自定义错误信息。
Off:禁用自定义错误信息,本地和远程用户都会看到详细的错误信息。
RemoteOnly:表示本地用户将看到详细错误信息,而远程用户将会看到自定义错误信息。
web.config是asp.net应用程序中一个很重要的配置文件,本文介绍了一些比较常用基本节点,童鞋们可以自己去查阅更多的资料进行深入了解。
给大家推荐一个技术类公众号: