书城计算机网络综合应用软件设计
8724600000028

第28章 软件构造(7)

全球化设置,包含定义区域性相关信息的类,这些信息包括语言、国家/地区、使用的日历、日期、货币和数字的格式模式及字符串的排序顺序。可以使用这些类编写全球(国际化)应用程序。如果在实际应用中有中文字符显示为乱码或不能显示,可以如下设置:

即采用中文国标。

尽管web.config文件为用户自定义提供了很大的空间,可能仍然需要一些用户设置。

appSettings部分就是用来满足这项要求的,请记住这部分并不在标记中,而是单独存放在标记中,数据库连接字符串、email服务器地址和日志文件存放路径,通常也可以放在这部分。

下面是对web.config文件的设置,该设置定义了数据库连接字符串和另一个用户设置LogFilePath键值对应:

在应用程序中可以访问这些设置,其ConfigurationSettings类提供指定配置小节中配置设置的访问。该类的公共属性ConfigurationSettings.AppSettings属性可获取

元素配置节中的配置设置,以下代码是获取数据库连接字符串的:

Dim strConnection as String

strConnection=ConfigurationSettings.AppSettings(”ConnectionString”)

5.如何使用页面缓存

缓存就是将一些生成代价比较大的常用数据保存起来重用。一般数据都保存在内存中,因为从内存中读取数据比从数据库等其他地方要快。

页面缓存是最简单的也是最常用的一种缓存技术,允许对动态页面进行输出缓存,这样页面就直接从缓冲器供应,而不需要在每个单独的请求下执行。可以指定一个绝对时间(如午夜)或一个相对时间(如在页面最后一次被访问后20分钟),这样就可以很好地控制页面在缓冲器中停留的时间。

页面缓存使用非常简单,只需在要缓存的页面加入下面的指令:

<;%@OutputCache Duration=”60”VaryByParam=”none”%>;

Duration=“60”是一个过期策略标记,指示该页面自缓存起60分钟后过期,则在60分钟后将该页面从输出缓存中移除。VaryByParam=“none”指的是页面不随任何GET或POST参数改变,只要对该页面的请求都输出缓存里的内容。

或者写以下代码也能起到相同效果:

Response.Cache.SetExpires(DateTime.Now.AddSeconds(60))

Response.Cache.SetCacheability(HttpCacheability.Public)

ASP.NET缓存对于每个应用程序是私有的,并且将对象存储在内存中。缓存的生存期与应用程序的生存期相同。也就是说,当应用程序重新启动时,将重新创建缓存。缓存提供了简单的API接口,使程序员可以轻松地将对象放到缓存中及从缓存中检索对象。

下面的程序说明简单的缓存使用。该示例执行数据库查询并缓存结果,并在应用程序的生存期内继续使用此结果。

<;%@Import Namespace=”System.Data”%>;

<;%@Import Namespace=”System.Data.SqlClient”%>;

缓存数据

Width=”700”

BackColor=”#ccccff”

BorderColor=”black”

ShowFooter=”false”

CellPadding=3

CellSpacing=”0”

Font—Name=”宋体”

Font—Size=”8pt”

HeaderStyle—BackColor=”#aaaad”/>;

6.如何进行数据验证

数据正确性是网站所必需的。为了更容易地检验使用者输入的数据是否正确,ASP.NET为编程人员提供了数据验证控件。

1)RequiredFieldValidator控件

当页面上的控件要求s必须输入数据时,RequiredFieldValidator就起作用了,Control—ToValidate属性选择需要验证的控件,而ErrorMessage属性则是校验不合法后显示的错误提示信息。

ErrorMessage=”Please enter your name”

ControlToValidate=”TextBox1”>;

2)CompareValidator控件

CompareValidator控件是用来比较两个输入控件之间的数据一致性的,同时也可以用来校验控件中内容的数据类型:如整型、字符串型等。ControlToCompare和ControlToValidate属性用来设置进行比较的两个控件。

Password:

Confirm:

<; asp:CompareValidator id=”CompareValidator1”runat=”server”ErrorMessage=”

Password Error!”ControlToValidate=”TxtCfm”ControlToCompare=”txtPwd”>;

3)RangeValidator控件

RangeValidator控件可以用来判断用户输入的值是否在某一特定范围内,属性MaximumValue和MinimumValue用来设定范围的最大值和最小值。

Age:

<; asp: RangeValidator id=”RangeValidator1”runat=”server”

ControlToValidate=”TxtAge”ErrorMessage=”Age Error!”MaximumValue=”99”MinimumValue=”1”>;

4)RegularExpressionValidator控件

RegularExpressionValidator控件可以判断用户输入的表达式(如电话号码、邮编、URL等)是否正确。ControlToValidate属性选择需要验证的控件,ValidationExpression属性则编写需要验证的表达式的样式,下面的例子就是一段校验邮编的代码。

Postal Code:

runat=”server”ControlToValidate=”TxtPostalCode”

ErrorMessage=”Postal Code Error!”ValidationExpression=”d6}”>;。