来源:微信公众号CodeL

1.配置文件层次分类

  1. Machine.config:  对.netframework整体的配置
  2. web.config(framework目录下):  对所有项目所公有的应用程序配置
  3. 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>

子节点:

  1. <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应用程序中一个很重要的配置文件,本文介绍了一些比较常用基本节点,童鞋们可以自己去查阅更多的资料进行深入了解。

给大家推荐一个技术类公众号:

ASP.NET网站开发中的配置文件的更多相关文章

  1. 整合Spring.net到asp.net网站开发中初探

    整合Spring.net到asp.net网站开发中初探 http://www.veryhuo.com 2009-10-21 烈火网 投递稿件 我有话说   Spring提供了一个轻量级的用于构建企业级 ...

  2. asp.net 网站开发流程总结

    由于这学期要做asp.net的网站开发,导师让我们在前期做详细的计划说明,时间安排.由于网站开发流程不知道,以及需要学什么指示都是盲懂,所以计划安排需在了解大致流程之后才能做出来,一下是询问同学和在网 ...

  3. C#开发中使用配置文件对象简化配置的本地保存

    C#开发中使用配置文件对象简化配置的本地保存 0x00 起因 程序的核心是数据和逻辑,开发过程中免不了要对操作的数据进行设置,而有些数据在程序执行过程中被用户或程序做出的修改是应该保存下来的,这样程序 ...

  4. 网站开发中很实用的 HTML5 & jQuery 插件

    这篇文章挑选了15款在网站开发中很实用的 HTML5 & jQuery 插件,如果你正在寻找能优化网站,使其更具创造力和视觉冲击,那么本文正是你需要的.这些优秀的 jQuery 插件能为你的网 ...

  5. C#开发中使用配置文件

    C#开发中使用配置文件对象简化配置的本地保存 0x00 起因 程序的核心是数据和逻辑,开发过程中免不了要对操作的数据进行设置,而有些数据在程序执行过程中被用户或程序做出的修改是应该保存下来的,这样程序 ...

  6. 网站开发中使用javascript获取浏览器滚动条宽度

    在网站开发中,有时候需要获取浏览器滚动条的宽度,在武汉蚂蹄软件服务中心的技术人员指导之下,我实现了该需求.记录如下: 首先说明一下原理: ①生成一个div,设置滚动条不可见,记录其宽度: ②将上面的d ...

  7. CGI、ASP、PHP、JSP、 ASP.NET网站开发语言比较

    一.主流网站开发语言的简介及优缺点. 现在主流的网站开发语言主要包括cgi.asp.php.asp.net.jsp等. HTML:当然这是网页最基本的语言,每一个服务器语言都需要它的支持. (一)  ...

  8. 网站开发中的相对URL问题--JSP

    问题描述: 入门网站开发时,我们会在相对URL问题上有疑惑.例如,在一个jsp页面中引入css外部文件, <link rel="stylesheet"          hr ...

  9. asp.net -mvc框架复习(1)-ASP.NET网站开发概述

    1.网站开发的基本步骤: 2.网站开发的需要的知识结构 (1)网站开发前台页面技术 页面设计:HTML  .CSS+DIV 页面特效:JavaScript.jQery (2)OOP编程核心公共技能 C ...

随机推荐

  1. .NET中Debug模式与Release模式

    Visual Studio 项目对程序的发布和调试版本分别有单独的配置.顾名思义,生成调试版本的目的是用于调试,而生成发布版本的目的是用于版本的最终分发. 如果在 Visual Studio 中创建程 ...

  2. java之Class类详解

    测试中需要用到的代码 InterfaceA代码: package jichu; interface InterfaceA { String s1 = "this is s1 in Inter ...

  3. spring jdbcTemplate query

    1. spring jdbcTemplate query需要实现mapRow方法 package com.cdv.apolloagent.jdbc.dao.impl; import java.sql. ...

  4. Dubbo初探

    Dubbo是什么? 1.阿里巴巴开源项目.2.Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案. ps: SOA(面相服务的体系结构) RPC( ...

  5. 那些教程没有的php2-对象

    php.net 对象 在类定义内部,可以用 new self 和 new parent 创建新对象. 当把一个对象已经创建的实例赋给一个新变量时,新变量会访问同一个实例,就和用该对象赋值一样.可以用克 ...

  6. ahjesus C# 4.0 Parallel 并行运算

    Parallel.For - for 循环的并行运算 Parallel.ForEach - foreach 循环的并行运算 Parallel.Invoke - 并行调用多个任务 Task - 任务,基 ...

  7. j2ee log4j集中式日志解决方案logpool v0.3

    V0.3相对于v0.2的更新如下:

  8. Eclipse 出现Some sites could not be found. See the error log for more detail.错误 解决方法

    Eclipse 出现Some sites could not be found.  See the error log for more detail.错误 解决方法 Some sites could ...

  9. Dom4j 锁竞争性能低下解决

    在最近的项目中使用 Dom4j 解析 xml 发现性能低下,有锁竞争的情况,解决如下: SAXParserFactory factory = new org.apache.xerces.jaxp.SA ...

  10. dubbo序列化的一点注意

    最近工作中遇见了一个小问题,在此记录一下,大致是这样的,有一父类,有一个属性traceId,主要是记录日志号,这样可以把所有日志串起来,利于排查问题,所有的pojo对象继承于此,但是其中一同事在子类p ...