ASP.NET数据库高级编程笔记(2)

来源:互联网 发布:淘宝的会员名可以改吗 编辑:程序博客网 时间:2024/05/01 14:01

第二章 ASP.NET应用程序配置

前言:

    主要是对Web.config文件进行介绍。

    程序开发结束后,需要在服务器上部署该应用程序。部署包括安装程序(?)和配置程序。

ASP.NET站点的配置过程(就是部署吧)是一个编写配置代码的过程,这些配置代码都把保存在Web.config文件中。

 

2.1概述

    有一种常见情况:在网站的开发中,有时有些信息在多个页面上都要用到。这时,比较好的做法是把它当作全局信息存在一个地方,而不是在每个页面中都重复填写同样的代码,这样比较好修改和维护。一个例子就是数据库的连接串。

    ASP开发的,一般把这样的全局信息放在Application对象中(上一章已经会用了);另一种办法是在Web.config中保存这些信息。

    什么是ASP.NET的应用程序配置?它为用户提供一个分层配置系统,以XML格式来实现这种分层。——〉一切配置信息存在Web.COnfig中。

    特点:

    1XML的易读特性,都是文本格式的,改也方便。

    2ASP.NET配置文件可以存在于每个目录中,都叫Web.config,各自作用范围是本目录和子目录。

    3ASP.NET自动监测Web.config的改动,无须重启服务器。

    4ASP.NET配置系统可扩展,开发人员可以自定义配置节<>和配置参数,并编写相应的配置节处理程序。要看,有点迷惑]

    5<location>allowOverride.

    6)通过配置IIS阻断外界访问配置文件。HTTP访问错误403(禁止访问)。

    一些配置:(有多个配置文件存在)

    1)基本配置machine.config,在……

    2wwwroot根目录下的C:/inetpub/wwwroot/Web.config 可以看一下去

    3)应用程序根目录下的D:/MyApplication/

    4)子目录文件架下的D:/MyApplication/MyDir/

 

2.2配置文件格式

    a.一般,Web.config的根为<configuration></configuration>,配置信息全在这标记之间。

    b.最有用的<system.Web></system.Web>,这个包含所有规范的配置节设置。

    c.若要定义application-wide,要使用<appSettings>标记。这个叫特定应用程序配置。

    在之中,可用<add key = “name” value = “string code”/>

    d.Web.config文件整个部分分为 配置节处理程序声明 和 配置节设置。

    声明部分:<configSections></configSections>

    之中用<section name = “” type = “”/>

    e.用配置节组来为声明划分组:

    <sectionGroup name = “system.net”>

    <section ....../>

    <section ....../>

    </sectionGroup>

    <sectionGroup name = “system.Web”>

    <section ....../>

    <section ....../>

    <section ....../>

    </sectionGroup>

 

2.3配置节

a.<configuration></configuration>

b.<configSections><section name = “” type = “”></configSections>

c.<appSettings><add key = “” value = “”></appSettings> 如何用上待会说

d.<compliation defaultLanguage = “c#” debug = “true”>

e.<customErrors

    mode = “RemoteOnly” à OnOffRemoteOnly

    defaultRedirect = “error.html”

    <error statusCode = “450”

        redirect = “error450Page.html”

        />

    />

    customErrors可以自定义错误消息,对一些错误状态码(450号错误)指定自定义的重定向页面。

f.<globalization

    requestEncoding = “utf-8” à 用来检查发来请求的编码?

    responseEncoding = “utf-8” à 用来检查发挥相应的编码?

    fileEncoding = “utf-8” à用于检查ASPXASAX等文件解析的默认编码?

    />   机器级?

    不懂,也没兴趣再查了

g.<sessionState

    mode = “InProc” à 设置会话状态 Off/Inproc自身存储/StateServer存于单独的Asp.NET服务器中/SqlServer存于SQL Server

    stateConnectionString = “tcpip = 127.0.0.1:42424” à 存储会话状态的服务器

    sqlConnectionString = “data source = 127.0.0.1; user id = sa; password = ”

    cookieless = “false”

    timeout = “20”

    />

h.<trace

    enabled = “false”

    requestLimit = “10” à 指定根种请求的数目,默认10

    pageOutput = “false” à 显示跟踪信息或是通过trace实用程序访问。

    traceMode = “SortByTime”

    />

    在应用程序内为每一页启用跟踪日志输出。

 

i.<authentication mode = “”></authentication> 安全配置

    mode = “” à windows/froms/passport/none

    name

    loginUrl

    Protection = “” à all/none/Encryption/validation

    timeout

 

以下是一个例子,用了<authentication><authorization>

 

2.4 使用位置和路径

    为一个Web.config文件指定它起作用的路径。

    <location path = “mydir/page.aspx”>

    <!—这里是该路径下的配置节内容 -->

    </location>

    一个配置文件中可以有多个路径,在不同路径下是不同的配置内容。

    另外,allowOverride属性表示是否允许其他配置文件对这个进行修改。

   

2.5扩展配置文件

    a.appSettings

    <appSettings>

    <add key=“ORACLEConnectionString” value=“Provider = OraOLEEDB.Oracle.1; Persist Security Info = False; Password = 123; User ID = sa; Data Source = Info;”/>

    <add key = “SQLConnectionString”

        value = “server = Ranma; database = northwind; trusted_Connection = yes”/>

    </appSettings>

   

    b.扩展自定义的配置信息

    <configuration>

    <configSections>

        <section name = “ownSettings”

            type = “System.Configuration.NamValueFileSectionHandler, System,                   Version = 1.0.3300 ”

            />

    </configSections>

 

    <ownSettings>

        <add key = “connString”

            value = “server = localhost; database= northwind; usid = sa; password              = ;”

            />

    </ownSettings>

    </configuration>

 

2.6最后是使用配置文件

    a.访问<browserCaps>,这个节是machine.config文件的,记载了客户端浏览器的一些信息,通过 System.Web.HttpRequest类的Browser属性访问。

    String xxx = Request.Browser.xxx.toString();

    其中,xxx是节中的属性,如ActiveXControls/BackgroundSoounds/Browser/Version等。

    b.访问扩展应用程序配置信息

    SysTem.Configuration.ConfigurationSettings类。

    String sqlconn = ConfigurationSettings.AppSettings[“SQLConnecionString”];

    c.访问自定义的配置信息

    String sqlconn =                                        ConfigurationSettings.GetConfig[“ownSettings”][“connString”];

整个就这样。

原创粉丝点击