来源:微信公众号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. iis7 部署mvc4.0

    虽然用多了iis  但是很少重新去部署iis支持mvc4的环境,搞得每次需要的时候都要去百度, 所以现在自己写篇随笔来记录一下方便下次使用 建议先安装iis,再安装.net framework4.0, ...

  2. kfreebsd不适用于实际环境

    debian搞的kfreebsd,其中有很多常用的软件包处于依赖破损的状态,个人觉得是无法用作日常开发或生产环境的. 当然,对于只使用其中几项完整可用功能的场景,基本上还是可以的. 当时看个这个东东的 ...

  3. EffectiveJava——复合优先于继承

    继承时实现代码重用的重要手段,但它并非永远是完成这项工作的最佳工具,不恰当的使用会导致程序变得很脆弱,当然,在同一个程序员的控制下,使用继承会变的非常安全.想到了很有名的一句话,你永远不知道你的用户是 ...

  4. 部署时,出现用户代码未处理 System.Security.Cryptography.CryptographicException 错误解决方法

    转载:http://www.cnblogs.com/jys509/p/4499978.html 在调用RSA加密的.pfx密钥时,在本地调试没有问题,可以布署到服务器,就会报以下的错误: 用户代码未处 ...

  5. Android应用开发基础之六:页面跳转和数据传递

    创建第二个Activity 需要在清单文件中为其配置一个activity标签 标签中如果带有这个子节点,则会在系统中多创建一个快捷图标 <intent-filter> <action ...

  6. 配置VS代码生成工具ReSharper快捷键

    VS代码生成工具ReSharper提供了丰富的快捷键,可以极大地提高你的开发效率.安装ReSharper后首次启动Visual Studio时,会出现一个名为ReSharper Keyboard Sc ...

  7. 通过GPS数据反向地理信息编码, 得到当前位置信息

    检查可用性 这属于基础知识, 不赘述, 总的来说,你的设备的支持要打开, 添加CoreLocation的framework, 引用头文件, 添加委托,然后, 好的实践是在使用前编程检查相关可用性: - ...

  8. 关于JS闭包,作者不详(转)

    说明:本文由两篇文章结合而成,系从他人笔记中转过来的, 具体作者不详.因为觉得不错,遂共享之.如有侵权,立删致歉. 一.变量的作用域 要理解闭包,首先必须理解Javascript特殊的变量作用域. 变 ...

  9. 链接错误——无法解析的外部符号 ConvertStringToBST

    今天做COM组件时,编译之后,出现了一个数个编译错误:error LNK2019: 无法解析的外部符号 "wchar_t * __stdcall _com_util::ConvertStri ...

  10. 安卓问题集-Installation error: INSTALL_PARSE_FAILED_MANIFEST_MALFORMED

    错误出现原因: 1.没有 AndroidManifest.xml file文件(出现几率较小) 2. 是你在外面修改了包名而在 AndroidManifest.xml file.文件中没有同步过去导致 ...