.net中webconfig 详解

作者:佚名     字体:[增加 减小]    类型:转载
这篇文章主要介绍了.net中webconfig 详解,需要的朋友可以参考下

.net 提供的是针对当前机器的配置。---名称:machine.config

运行机制:asp.net网站IIS启动的时候会加载配置文件中的配置信息,然后缓存这些信息,这样就不必每次去读取配置信息。在运行过程中asp.net应用程序会监视配置文件的变化情况,一旦编辑了这些配置信息,就会重新读取这些配置信息并缓存。

配置文件节点:
  必须明白: web.config文件是一个XML文件
  所隶属根节点的名称:

复制代码 代码如下:

  <configuration>
         子节点:<configSections></configSections>
             <appSettings> </appSettings>
            <connectionStrings></connectionStrings>
            <system.web></system.web>
       特殊: <system.webServer></system.webServer>-----用于指定适用于 Web 应用程序的 IIS 7.0 设置,只适用于 IIS 7.0 集成模式 不适用于经典模式,如果应用程序正在经典模式下运行,则会忽略 Web.config 文件的
  <configuration>

  节点分析:
1.<connectionStrings>节点

  主要用于配置数据库连接,可以在<connectionStrings>节点中增加任意个节点来保存数据库连接字符串然后通过代码的方式动态获取节点的值来实例化数据库连接对象。
例如:

复制代码 代码如下:

    <connectionStrings>
        <!--SQL Server数据库配置-->   <add name="你所要取的名字(任意的)"  connectionString=" Date Source=数据库登陆名 ; Initial Catalog=数据库名称; User ID=登录人    Password=登录人密码 "/>是可以配置多个数据库的连接的
        <add name="AspNetStudyConnectionString1" connectionString="Data Source=(local);Initial Catalog=AspNetStudy;User ID=sa;Password=sa"/>
        <add name="ConnectionString" connectionString="Data Source=10.0.0.52;Initial Catalog=NEW_HOSPITAL_DEV;User ID=hospital;pwd=hospital;"/>
    </connectionStrings>

在代码中药读取数据库连接对象的做法:

复制代码 代码如下:

    //读取web.config节点配置
    string connectionString = ConfigurationManager.ConnectionStrings["AspNetStudyConnectionString1"].ConnectionString;
    //实例化SqlConnection对象
    SqlConnection connection = new SqlConnection(connectionString);

从中可以看出好处:一旦开发时所用的数据库和部署时的数据库不一致,仅仅需要用记事本之类的文本编辑工具编辑connectionString属性的值就行了

2.<appSettings>节点

   作用:存储asp.net应用程序的一些配置信息,比如上传文件的保存路径等
例如可以配置图片类型:

复制代码 代码如下:

    <appSettings>
        <add key="ImageType" value=".jpg;.bmp;.gif;.png;.jpeg"/>----<!--允许上传的图片格式类型-->
        <add key="FileType" value=".jpg;.bmp;.gif;.png;.jpeg;.pdf;.zip;.rar;.xls;.doc"/><!--允许上传的文件类型-->
    </appSettings>

读取</appSettings>节点中的值:

string  FileType= ConfigurationManage.AppSettings["FileType"]; ----其实就是键值对的形式 取值的

3.<system.web> 节点:

所属子节点:

3.1.<compilation>节点
            作用:节点配置 ASP.NET 使用的所有编译设置。默认的debug属性为“true”,即允许调试,在这种情况下会影响网站的性能所以在程序编译完成交付使用之后应将其设为“false”
例如:

复制代码 代码如下:

            <compilation targetFramework="4.0" debug="true">
            <buildProviders>
                <add extension=".html" type="System.Web.Compilation.PageBuildProvider"/>
            </buildProviders>
            </compilation>

3.2.<authentication>节点
        作用:控制用户对网站、目录或者单独页的访问

设置asp.net身份验证模式,有四种身份验证模式,它们的值分别如下:
Mode 说明
Windows 使用Windows身份验证,适用于域用户或者局域网用户。
Forms 使用表单验证,依靠网站开发人员进行身份验证。
Passport 使用微软提供的身份验证服务进行身份验证。
None 不进行任何身份验证。
 例如:            <!--请求模式-->
        <authentication mode="Forms"/>

 3.2.<customErrors>节点

 <customErrors>节点用于定义 一些自定义错误信息的信息。此节点有Mode和defaultRedirect两个属性,其中defaultRedirect属性是一个可选属性,表示应 用程序发生错误时重定向到的默认URL,如果没有指定该属性则显示一般性错误。Mode属性是一个必选属性,它有三个可能值,它们所代表的意义分别如下:
Mode 说明
On     表示在本地和远程用户都会看到自定义错误信息。
Off    禁用自定义错误信息,本地和远程用户都会看到详细的错误信息。
RemoteOnly 表示本地用户将看到详细错误信息,而远程用户将会看到自定义错误信息。
这 里有必要说明一下本地用户和远程用户的概念。当我们访问asp.net应用程时所使用的机器和发布asp.net应用程序所使用的机器为同一台机器时成为 本地用户,反之则称之为远程用户。在开发调试阶段为了便于查找错误Mode属性建议设置为Off,而在部署阶段应将Mode