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的加载事件,可以移到别的地方,如果用到就加载。

        2Web.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表示本地用户将看到详细错误信息,而远程用户将会看到自定义错误信息。

 

总结:

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



 

 


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。