ASP.NET中的配置文件

历史回顾:

在做机房收费系统的时候,用到了抽象工厂加反射实现数据库的更换功能。在工厂中首先定义程序集的名字和命名空间的名字,将程序集的名字和命名空间的值写在配置文件中,当执行到Factory函数时程序会自动通过读取配置文件中的相应字符,按照路径实例化出相应的对象。

<appSettings>        
      <add key="ConnStr" value="Data Source=192.168.24.94;Initial Catalog=MyCharge_sys;User ID=sa;Pwd=123456" ></add>
      <add key="DBString" value="Sql" ></add>
</appSettings>

这样就使得我们不必每次都连接数据库的时候再写连接语句,直接利用反射即可,而且可以在更换数据库之后直接修改配置文件,配置文件可以在系统之外打开修改,可以利用任何文本编辑工具即可。

牛腩新闻发布系统中,设置系统出错自动跳转到出错页。系统中所有出错页面都会自动跳转到这一个出错页面。

<system.web>
	<!--出现错误的时候自动导向-->
	<customErrors mode="On" defaultRedirect ="~/error.html"></customErrors>
</system.web>

我对配置文件的理解:

在用户第一次登录到计算机上时被创建,配置文件被储存在计算机的本地硬盘驱动器上。用户在设置和使用软件时的设置和文件的集合。它包括用户专用的配置设置,如程序项目、屏幕颜色、网络连接、打印机连接、鼠标设置及窗口的大小和位置等。

ASP.NET再见配置文件

在这里主要分为两类:

1、 Machine.Config

每台计算机上仅可有一个Machine.Config文件,应用到驻留在服务器上的所有应用程序。由于ASP.NET运行时是要加载很多的配置文件的,当然Machine.Config是一定要加载的,但是其中有些配置不是必须的,所以为了缩短ASP.NET的加载事件,可以移到别的地方,如果用到就加载。

2、Web.Config

每个应用程序可有一个Web.Config文件,重写Machine.Config的设置。应用到驻留在服务器上的单个应用程序

详解Web.Config

     Web.config文件是一个XML文本文件,它用来储存 ASP.NET Web应用程序的配置信息(如最常用的设置ASP.NET Web应用程序的身份验证方式),它可以出现在应用程序的每一个目录中。当在VB.NET新建一个Web应用程序后,默认情况下会在根目录自动创建一个默认的Web.config文件,包括默认的配置设置,所有的子目录都继承它的配置设置。如果想修改子目录的配置设置,可以在该子目录下新建一个Web.config文件。它可以提供除从父目录继承的配置信息以外的配置信息,也可以重写或修改父目录中定义的设置。

在运行时对Web.config文件的修改不需要重启服务就可以生效。Web.config文件是可以扩展的,可以自定义新配置参数并编写配置节处理程序以对它们进行处理。

几种元素:

(1)<authentication>

作用:配置 ASP.NET身份验证支持(为Windows、Forms、PassPort、None四种)。该元素只能在计算机、站点或应用程序级别声明。<authentication>元素必需与<authorization> 节配合使用。

例:当没有登陆的用户访问需要身份验证的网页,网页自动跳转到登陆网页。

<authentication mode="Forms" >
       <formsloginUrl="logon.aspx" name=".FormsAuthCookie"/>
</authentication> 

其中元素loginUrl表示登陆网页的名称,name表示Cookie名称

(2)<authorization>

作用:控制对 URL资源的客户端访问(如允许匿名用户访问)。此元素可以在任何级别(计算机、站点、应用程序、子目录或页)上声明。必需与<authentication>节配合使用。

例:禁止匿名用户的访问

<authorization>
    <denyusers="?"/>
</authorization>

?表示匿名用户,

*表示所有用户,还可以指定具体禁止具体的用户

(3)<system.web>

<pages buffer="true"/>所有页面配置。

Buffer="true",启用服务器端缓冲,服务器生成一个完整页面统一发送给客户端.

Buffer="false"没有启用缓冲,以16K为一单元,向客户端不停的断续发送.

<appSettings>应用程序的自定义配置,一般放置常量,区分大小写。创建一个存储数据库连接字符串。

<add key="con"value="server=.;database=Charge_sys;uid=sa;pwd=123456"></add>
SqlConnection con=newSqlConnection(System.Configuration.ConfigtuationSettings.AppSettings["con"]

(4)<customErrors>

作用:为 ASP.NET 应用程序提供有关自定义错误信息的信息。

例:当发生错误时,将网页跳转到自定义的错误页面。

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

其中:defaultRedirect表示自定义的错误网页的名称。mode元素表示:对不在本地Web 服务器上运行的用户显示自定义(友好的)信息。

On表示在本地和远程用户都会看到自定义错误信息;

Off禁用自定义错误信息,本地和远程用户都会看到详细的错误信息。

RemoteOnly表示本地用户将看到详细错误信息,而远程用户将会看到自定义错误信息。

总结:

 既然有简单的方法,为什么还要去绕弯子呢?既然可以避免重复,我们就要尽量去达到可复用。可以说配置文件方便了编程,有些易变的东西我们可以抽出来不需要修改代码就可以修改。就像是机房收费系统中,我们可以灵活的改变数据库。可以灵活的连接不同的数据库。其实以参数的方式也可以实现类似的功能,但是当连接实例改动时,配置文件方式的改动要比参数方式来的更简便安全。

时间: 2024-10-06 06:17:34

ASP.NET中的配置文件的相关文章

asp.net中为什么修改了配置文件后我们不需要重启IIS

本文转载:http://blog.itpub.net/12639172/viewspace-659819/ 大家知道,asp.net中,如果我们修改了配置文件只要把它保存之后,就会立刻反应到程序中, 并不需要我们重启IIS.甚至我们可以在不停止IIS的情况下,直接替换应用程序下的文件,包括我们 编译好的dll文件等,你需要做的只是替换你变换了的文件而已.那么.net是怎么做到的呢? 这要归功于.net的应用程序域机制,应用程序域是比进程小的程序元单位,也就是说一个 进程中可以包含多个应用程序域.

ASP.NET 4.0配置文件中的ClientIDMode属性

ASP.NET 4.0配置文件中的ClientIDMode属性来自森大科技官方博客 http://www.cnsendblog.com/index.php/?p=99时光流逝,我们心爱的ASP.NET也步入了4.0的时代,微软在ASP.NET 4.0中对很多特性做了修改.比如我将要讨论的控件ID机制就是其中之一. 在ASP.NET 4.0之前我们总是要为控件的ClientID头疼,比如明明一个叫lblName的Label放在一个叫做grd的GridView里面后,在页面上改Label的ID就变成

ASP.NET中常用的优化性能的方法

1. 数据库访问性能优化  数据库的连接和关闭 访问数据库资源需要创建连接.打开连接和关闭连接几个操作.这些过程需要多次与数据库交换信息以通过身份验证,比较耗费服务器资源.ASP.NET中提供了连接池(Connection Pool)改善打开和关闭数据库对性能的影响.系统将用户的数据库连接放在连接池中,需要时取出,关闭时收回连接,等待下一次的连接请求. 连接池的大小是有限的,如果在连接池达到最大限度后仍要求创建连接,必然大大影响性能.因此,在建立数据库连接后只有在真正需要操作时才打开连接,使用完

ASP.NET中进行消息处理(MSMQ) 三

在本文的前两篇文章里对MSMQ的相关知识点进行了介绍,很多阅读过这前两篇文章的朋友都曾问到过这样一些问题:  1.如何把MSMQ应用到实际的项目中去呢?  2.可不可以介绍一个实际的应用实例?  3....... 在前两篇文章里,关于MSMQ常用的技术点基本介绍完毕了,本文主要以MS开源项目PetShop中的MSMQ应用作为案例来介绍MSMQ在实际项目中的应用.在PetShop里,由于系统使用了多线程的专用应用程序来监控消息队列,在进入PetShop应用分析前,我们先来了解下关于多线程和MSMQ

ASP.NET 中执行 URL 重写

具体实现步骤(其中的一种实现方法): 一.下载相关的DLL(ActionlessForm.dll和UrlRewriter.dll) http://download.csdn.net/detail/yingwanghbx/4510059 二.在项目中引用那两个DLL文件 右击项目,点击Add Reference,选择Browse,然后选择相应的DLL,点击OK即可. 三.添加browser文件 1.右击项目,点击Add-New Item,选择Browser File,取个有意义的名字.在生成的*.

在 ASP.NET 中创建数据访问和业务逻辑层(转)

.NET Framework 4 当在 ASP.NET 中处理数据时,可从使用通用软件模式中受益.其中一种模式是将数据访问代码与控制数据访问或提供其他业务规则的业务逻辑代码分开.在此模式中,这两个层均与表示层分离.表示层由网站用户有权查看或更改数据的页面组成. ASP.NET 可通过多种方式提供数据访问.业务逻辑和表示形式之间的分离.例如,数据源模型(包括 LinqDataSource 和 ObjectDataSource 等服务器控件)可将表示层与数据访问代码和业务逻辑分离. 另一种模式是将数

ASP.NET中进行消息处理(MSMQ) 三(转)

在本文的前两篇文章里对MSMQ的相关知识点进行了介绍,很多阅读过这前两篇文章的朋友都曾问到过这样一些问题:  1.如何把MSMQ应用到实际的项目中去呢?  2.可不可以介绍一个实际的应用实例?  3....... 在前两篇文章里,关于MSMQ常用的技术点基本介绍完毕了,本文主要以MS开源项目PetShop中的MSMQ应用作为案例来介绍MSMQ在实际项目中的应用.在PetShop里,由于系统使用了多线程的专用应用程序来监控消息队列,在进入PetShop应用分析前,我们先来了解下关于多线程和MSMQ

Asp.net中的web.config配置

目录 Asp.net中的web.config配置... 1 一. 配置文件保存位置... 2 二. 配置文件加载顺序... 2 三. 配置文件节点介绍... 3 1. . 3 2. . 5 3. . 5 4. . 6 . 11 四. 针对配置文件的一些编程操作... 11 1. 运行时进行配置文件的修改... 11 2. 配置节点的加密... 12 web.config是asp.net中保存配置信息(比如数据库连接字符串等)的重要文件.它是基于xml的文本文件方式放在Web应用程序的任何目录中,

ASP.NET—015:ASP.NET中无刷新页面实现

原文作者:杨友山 原文地址:http://blog.csdn.net/yysyangyangyangshan/article/details/39679823 前面也说过在asp.net中前后前交互的问题.使用了ajax.js的方法:$.post和$.ajax. http://blog.csdn.net/yysyangyangyangshan/article/details/22755007和http://blog.csdn.net/yysyangyangyangshan/article/det