天涯博客
博文正文
ASP NET是把基于通用语言的程序在服务器上运行。不像以前的ASP即时解释程序,而是将程序在服务器端首次运行时进行编译,执行效果,比一条一条的解释强很多,执行效率大大的提高。
ASP NET可以运行在Web ASP NET常用的主要有两种开发语言,VB NET和C#,C#相对更为常用,因为是.NET独有的语言,VB NET则为以前VB程序设计,适合于以前VB程序员,如果新接触.NET,没有其他开发语言经验,建议直接学习C#。
ASP(Application Service Provider,应用软体租赁服务提供者),即是指透过网络以租赁方式提供应用软体服务的从业者,即是指业者以应用软体为主体,透过网络一对多地传递服务,这种以服务为主的交易模式促使企业可藉由租赁的方式,以更符合成本效益的方式拥有软体的使用权,并且亦能因为业者集中式的管理而大幅降低企业维护的成本。
基本上,ASP即具有“软体服务化、服务网络化”,“资讯委外服务与网络结合”与“产品通路化、通路产品化”等三大特性,其甚至可以被视为是ISP(InternetService Provider)与ITS(Information Technology Service)的结合.
根据流行的观点,ASP有如下五个核心内涵:
a. ASP着重应用为中心,提供对于应用方面的访问和管理。
b. ASP服务可以为用户提供没有在服务器、人员、系统和系统授权等前期资源投入情况下就可以在“定制”的全新应用系统环境进行访问的服务,如ISP,而这样的服务一般按月份ASP收取服务费。
c. ASP采用集中管理的方式---ASP一般都有一个管理中心,所有的客户通过INTERNET来进行远程访问,获得技术支持和咨询服务。
d. 一对多的服务,也就是讲,ASP提供的是标准化的产品包,产品都是最低程度的自定义或者没有实现客户定制化,对于行业用户来讲已经达到实用方便的标准。
e. 按照合同交付,在ASP客户的眼中,ASP是一家根据客户协议内容提供相关服务,保证应用服务系统服务可以得到确实履行的机构。
从大的方面来讲,困扰国内企业生存、发展的核心问题是管理问题。随着互联网络的普及和应用的深入,企业用户可以随时随地直接租用ASP的服务器和 以网络服务商、软件厂商和ISP为主力的各种IT角色,正在根据自己的优势条件出发对ASP领域进行多种方面的尝试。就目前阶段来讲,ASP提供的服务不计其数五花八门,没有标准化和量化的概念,硬件厂商向ASP的“土壤”和势力方向靠拢,软件厂商和ISP则直接参与到ASP业务的第一线。
笔者估计,经过一段时间的试探和发展,ASP将向服务集成方面发展,产品和服务初步的标准化将很快建立起来,接着进入到市场细化和标准制定、ASP产品成熟时期,ASP的稳步增长,最终将成为IT行业商务模式的核心!
目前在ASP发展的道路上,主要面临的问题是观念的转变方面:用租赁代替购买,服务集成代替产品经销商、服务经济代替产品经济等等。具体到实际方面来讲,安全和服务的质量是ASP和客户共同关心的头等大事,要实现ASP提出的“租赁高科技”的口号,ASP任重而道远!
a.安装IIS
若 单击“主目录”标签,切换到主目录设置页面,该页面可实现对主目录的更改或设置。注意检查启用父路径选项是否勾选,如未勾选将对以后的程序运行有部分影响。主目录—配置---选项。
单击“文档”标签,可切换到对主页文档的设置页面,主页文档是在浏览器中键入网站域名,而未制定所要访问的网页文件时,系统默认访问的页面文件。常见的主页文件名有index.htm、index.html、 在Internet信息服务的 在ASP NET流行之前,最常用的三种动态网页语言有VBscript,JSP(JavaServer Pages),PHP (Hypertext Preprocessor)。
ASP全名Active Server Pages,是一个WEB服务器端的开发环境,利用它可以产生和执行动态的、互动的、高性能的WEB服务应用程序。ASP采用 三者都提供在HTML代码中混合某种程序代码、由语言引擎解释执行程序代码的能力。但JSP代码被编译成Servlet并由Java ASP常用内置 这些函数包括对“年”、“月”、“日”、“时”、“分”、“秒”、“星期”等的显示。
(1)Now函数:根据 在脚本的功能处理中,通常需要对一些字符串进行一些修饰性处理。比如过滤掉字符串中的敏感字眼以符合最终显示的要求;又比如一段较长的字符串,需要提取开头的几个字符时。
(1)Asc函数:返回字符串中第一个字母对应的ANSI字符代码。使用方法:asc(string)。其中string参数表示字符串。
(2)Chr函数:返回指定了ANSI 字符代码对应的字符。使用方法:chr(chrcode)。参数chrcode是相关的标识数字。该函数的功能和asc函数形成对应。
比如:asc(“a”)表示小写字母“a”的ANSI字符“97”;同样chr(97)表示的就是“小写字母a”。另外chr(chrcode)中参数chrcode值为0到31的数字时,表示不可打印的ASCII码。比如“chr(10)”表示换行符,“chr(13)”表示回车符等,这常用于输入和显示格式的转换中。
(3)Len函数:返回字符串内字符的数目(字节数)。使用方法:len(string)。比如len(“love”)的值就是4。
(4)LCase函数:返回所有字符串的小写形式。使用方法:lcase(string)。比如lcase(“CNBruce”)返回为“cnbruce”。
(5)UCase函数:返回所有字符串的大写形式。与lcase函数形成对应。同样,ucase(“CNBruce”)返回为“CNBRUCE”。
(6)Trim函数、LTrim函数和RTrim函数:分别返回前导和后续不带空格、前导不带空格或后续不带空格的字符串内容。比如:
trim(“ cnbruce ”)返回为“cnbruce”,前导和后续都不带空格;
ltrim(“ cnbruce ”)返回为“cnbruce ”,前导不带空格;
rtrim(“ cnbruce ”)返回为“ cnbruce”,后续不带空格;
该函数常用于注册信息中,比如确保注册用户名前或后的空格。
(7)Left函数:返回从字符串的左边算起的指定数目的字符。使用方法:left(string,length)。比如left(“brousce”,5)返回为“brous”,即前五位字符。
(8)Right函数:返回从字符串的右边算起的指定数目的字符。使用方法:right(string,length)。比如right(“brousce”,4)返回为“usce”,即后四位字符。
(9) Cbool(string) 转换为布尔值
Cbyte(string) 转换为字节类型的值
Ccur(string) 转换为货币类值
Cdate(string) 转换为日前类型的值
Cdbl(string) 转换为双精度值
Cint(string) 转换为整数值
Clng(string) 转换为长整型的值
Csng(string) 转换为单精度的值
Cstr(var) 转换为字符串值
Str(var) 数值转换为字符串
Val(string) 字符串转换为数值
Abs(nmb) 返回数字的 IsArray(var) 判断一个变量是否是数组
IsDate(var) 判断一个变量是否是日期
IsNull(var) 判断一个变量是否为空
IsNumeric(var) 判断表达式是否包含数值
IsObject(var) 判断一个变量是否是对象
TypeName(var) 返回变量的数据类型
Array(list) 返回数组
Split(liststr) 从一个列表字符串中返回一个一维数组
LBound(array) 返回数组的最小索引
Ubound(array) 返回数组的最大索引
CreateObject(class) 创建一个对象
GetObject(pathfilename) 得到文件对象
功能:创建一个 \\功能:将一表达式/其它类型的变量转换成整数类型(int)
格式:Cint(expression)
参数:expression 是任何有效的表达式/其它类型的变量
例子:
<%
f = "234"
response.write cINT(f) + 2
%>
结果: 236
函数Cint()将字符"234"转换 成整数234.如果表达式为空, 或者无效时,返回值为0;
功能:创建及返回一个ActiveX对象.
格式:Creatobject(obname)
参数bname 是对象的名称
例子:
<%
Set con = Server.CreateObject("ADODB.Connection")
%>
结果:
功能:将一表达式/其它类型的变量转换成字符类型(string)
格式:Cstr(expression)
参数:expression是任何有效的表达式/其它类型的变量
例子:
<%
s = 3 + 2
response.write "The result is: " & cStr(s)
%>
结果:函数Cstr()将整数 5 转换 成字符"5".
功能:返回当前系统(server端)的日期
格式: Date()
参数:无
例子<% date () %>
结果:05/10/00
5.1 Instr()
函数返回字符或字符串在另一个字符串中第一次出现的位置.
表达式 Instr([start, ] strToBeSearched, strSearchFor [, compare])
允许数据类型: Start为搜索的起始值,strToBeSearched接受搜索的字符串 strSearchFor要搜索的字符.compare比较方式(详细见ASP常数)
实例: <%
strText = "This is a test!!"
pos = Instr(strText, "a")
response.write pos
%>
返回结果: 9
功能:计算某个指定的时间和
格式: dateadd(timeinterval,number,date)
参数:timeinterval是时间单位(月,日..); number是时间间隔值,date是时间始点.
例子:
<%
currentDate = #8/4/99#
newDate = DateAdd("m",3,currentDate)
response.write newDate
%> <%
currentDate = #12:34:45 PM#
newDate = DateAdd("h",3,currentDate)
response.write newDate
%>
结果:
11/4/99
3:34:45 PM
其中
"m" = "month";
"d" = "day";
如果是currentDate 格式,则,
"h" = "hour";
"s" = "second";
功能:计算某量个指定的 功能:返回一个整数值,对应于某月的某日
格式: day(date)
参数: date是一个有效的日期表达式;
例子<% =day(#8/4/99#) %>
结果:4
功能:转换成货币格式
格式: formatcurrency(expression [,digit[,leadingdigit[,paren[,groupdigit]]]])
参数: expression 是有效的数字表达式;digit表示小数点后的位数;leadingdigit,paren,groupdigit是任意选项.
例子<%=FormatCurrency(34.3456)%>
结果34.35
功能:格式化日期表达式/变量
格式: formatdatetime(date[,nameformat])
参数: date为有效的日期表达式/变量;nameformat是指定的日期格式常量名称.
例子<% =formatdatetime("08/04/99",vblongdate) %>
结果:Wednesday,August 04,1999
说明:
描述
返回表达式,此表达式已被格式化为日期或时间。
语法
FormatDateTime(Date[, NamedFormat])
FormatDateTime 函数的语法有以下参数:
参数 描述
Date 必选项。要被格式化的日期表达式。
NamedFormat 可选项。指示所使用的日期/时间格式的数值,如果省略,则使用 vbGeneralDate。
设置
NamedFormat 参数可以有以下值:
常数 值 描述
vbGeneralDate 0 显示日期和/或时间。如果有日期部分,则将该部分显示为短日期格式。如果有时间部分,则将该部分显示为长时间格式。如果都存在,则显示所有部分。
vbLongDate 1 使用计算机区域设置中指定的长日期格式显示日期。
vbShortDate 2 使用计算机区域设置中指定的短日期格式显示日期。
vbLongTime 3 使用计算机区域设置中指定的时间格式显示时间。
vbShortTime 4 使用 24 小时格式 (hh:mm) 显示时间。
说明
下面例子利用 FormatDateTime 函数把表达式格式化为长日期型并且把它赋给 MyDateTime:
Function GetCurrentDate
"FormatDateTime 把日期型格式化为长日期型。
GetCurrentDate = FormatDateTime(Date, 1)
End Function
功能:返回一个布尔值,判断变量是否为数字变量,或者是可以转换成数字的其它变量.
格式:isnumeric(expression)
参数:expression 是任意的变量.
例子:
<%
i="234"
response.write isnumeric(i)
%>
结果: true.
功能:返回一个布尔值,判断变量是否为对象的变量,
格式: isobject(expression)
参数: expression 是任意的变量.
例子:
<%
set con =server.creatobject("adodb.connection")
response.write isobject(con)
%>
结果: true
功能:返回一个数组的下界.
格式:Lbound(arrayname[,dimension])
参数:arrayname 是数组变量,dimension 是任意项
例子:
<%
i = array("1","2","3")
response.write lbound(i)
%>
结果:0
功能:将一字符类型变量的字符全部变换小写字符.
格式:Lcase(string)
参数:string是字符串变量
例子:
<%
str="THIS is Lcase!"
response.write Lcase(str)
%>
结果:this is lcase!
功能:截取一个字符串的前部分;
格式:left(string,length)
参数:string字符串,length截取的长度.
例子: <% =left("this is a test!",6) %>
结果:this i
功能:返回字符串长度或者变量的字节长度
格式:len(string *varname)
参数:string字符串;varname任意的变量名称
例子:
<%
strtest="this is a test!"
response.write left(strtest)
%>
结果:15
功能:去掉字符串前的空格.
格式:ltrim(string)
参数:string 字符串.
例子: <% =ltrim (" this is a test!")
结果:this is a test!
功能:从字符串中截取字符串.
格式:mid(string,start [,length])
参数:string字符串,start截取的起点,length要截取的长度.
例子:
<%
strtest="this is a test, Today is Monday!"
response.write mid(strtest,17,5)
%>
结果:Today
功能:返回一数值, 表示分钟
格式:minute(time)
参数: time是时间变量
例子lt;% =minute(#12:23:34#) %>
结果:23
功能:返回一数值, 表示月份
格式:month(time)
参数:time是日期变量
例子<% =month(#08/09/99) %>
结果:9
功能:返回月份的字符串(名称).
格式:Monthname(date [,abb])
参数: date是日期变量,abb=true时 则月份的缩写,
例子:
<% =monthname(#4/5/99#) %>
结果:April
功能:返回系统的当前时间和日期.
格式:now()
参数:无
例子:
<% =now() %>
结果: 05/10/00 8:45:32 pm
功能:在字符串中查找,替代指定的字符串.
格式:replace(strtobesearched,strsearchfor,strreplacewith [,start[,count[,compare]]])
参数:strtobesearched是字符串; strsearchfor是被查找的子字符串;strreplacewith 是用来替代的子字符串.start,count,compare 是任意选项.
例子:
<%
strtest="this is an apple."
response.write replace(strtest,"apple","orange")
%>
结果:this is an orange.
功能:截取一个字符串的后部分
格式:right(string,length)
参数:string字符串,length截取的长度.
例子:
<%
strtest="this is a test!"
response.write right(strtest,3)
%>
结果:st!
功能:返回一个随机数值
格式:rnd[(number)]
参数:number是任意数值.
例子:
<%
randomize()
response.write rnd()
%>
结果:0/1数值之一,无randomize(), 则不能产生随机数.
功能:完整数值
格式:round(expression[,numright])
参数:expression数字表达式;numright任意选项.
例子:
<%
i=12.33654
response.write round(i)
%>
结果: 1227.函数rtrim()功能:去掉字符串后的空格. 格式:rtrim(string) 参数:string 是字符串 例子: <% response.write rtrim("this is a test! ") %> 结果:this is a test!
功能:返回一个整数值.
格式:second(time)
参数:time是一个有效的时间表达式;
例子lt;% =second(# 12:28:30#) %>
结果:30
功能:返回与原字符串排列逆向的字符串.
格式:strreverse(string)
参数:string是字符串
例子<% =strreverse("this is a test!")
结果:!tset a si siht
功能:返回当前系统的时间值.
格式:time()
参数:无
结果:9:58:28 Am
功能:删去字符串前,后的空格.
格式:trim(string)
参数:string 字符串.
例子:
<%
strtest="this is a test! "
response.write trim(strtest)
%>
结果:this is a test!
功能:返回一个数组的上界.
格式:Ubound(expression [,dimension])
参数:expression 是数组表达式/数组变量,dimension 是任意项
例子:
<%
i = array("1","2","3")
response.write ubound(i)
%>
结果: 2
功能:将一字符类型变量的字符全部变换成大写字符.
格式:Ucase(string)
参数:string是字符串变量
例子:
<%
str="THIS is Lcase!"
response.write Lcase(str)
%>
结果:THIS IS LCASE!
功能:返回变量的常量代码(整数)
格式:Vartype(varname)
参数:varname是任何类型的变量名称.
例子:
<%
i=5
response.write vartype(i)
%>
结果:2 (2表示整数,须要参考ASP常量代码.)
功能:返回一个整数,对应一周中的第几天.
格式:Weekday(date [,firstofweek])
参数: date为日期变量,firstofweek为任选项.
例子:
<%
d= # 5/9/00 #
response.write weekday(d) %>
结果:3(3 表示是星期二)
功能:返回字符串,对应星期几.
格式:weekdayname(weekday[,abb[,firstdayofweek]])
参数:weekday为日期变量,abb,firstdayofweek为任选项.
例子:
<%
d = #8/4/99#
response.write weekdayname(d)
%>
结果: Wednesday
功能:返回日期表达式所在的年份.
格式:year(date)
参数: date是有效的日期表达式
例子:
<% =year(#8/9/99#) %>
结果:1999
功能:取余数.
例子:3 Mod 2
结果:1
访问一个ASP集合来提取一个值是费时的、占用计算资源的过程。因为这个操作包含了一系列对相关集合的搜索,这比访问一个 如果不是别无选择,否则不要使用strPage=Request("page")的这样的形式来获取参数,因为这将按顺序搜索全部的集合—QueryString、Form、Cookies、ClientCertificate、ServerVarible直到发现第一个匹配值的名称。这样做比直接访问适当的集合效率低,并且是不安全的,除非能绝对保证这个值不会出现在另外一个集合中。
例如,可能希望搜索满足客户请求的WEB服务器名称,这通过出现在每个查询中的Request.ServerVarables集合中寻找“SERVER_NAME”来实现。然而,假如其他的集合也包含名为“SERVER_NAME”的值(键名不区分大小写),当使用Request("server_Name")时,就会得到错误的结果。总而言之,应尽可能直接访问适当的集合。
在费时操作前使用Response.IsClientConnected属性
使用Response.IsClientConnected是观察用户是否仍连到服务器并正在载入ASP创建的网页的有用方式。如果用户断开连接或停止下载,我们就不用再浪费服务器的资源创建网页,因为 通常面言,数据构成了WEB站点的实际内容。所以,优化ADO操作以加速ASP代码执行,十分有用:
a.仅选择所需的列:当打开ADO记录集时,除非需要获得所有的列,否则不应自动地使用表名(即SELECT*)。使用单独的列意味着将减少发送到服务器或从服务器取出的数据量。即使需要使用全部列,单独地命名每个列也会获得最佳的性能,因为服务器不必再解释这些列的名字。
b. 尽可能的使用 我们知道,ASP页面中既可以使用VBScript,也可以使用JScript。但是在同一个页面上同时使用JScript和VBScript则是不可取的。因为服务器必须实例化并尝试缓存两个(而不是一个)脚本引擎,这在一定程度上增加了系统负担。因此,从性能上考虑,不应在同一页面中混用多种脚本引擎。
前言
ASP使用VBScript或者JScript脚本完成编程,而这两种脚本本身能力非常有限,利用ASP的几个内部对象也无法完成较大规模的应用,但是令人兴奋的是ASP支持组件技术,类似文件上传、绘图、收发电子邮件等工作都可以借助组件来完成,找到合适的优秀的组件,将使我们的网站功能更加强大。
需要提醒大家的是,组件的安装应该按需进行,并不是说探针上的对号越多越好。
JMail 组件
Dimac 公司的邮件收发组件,这是一个非常成熟和强大的邮件组件。它不但可以完成发邮件的工作,还可以POP收信,并支持收发邮件时的PGP加密,内置一个群发邮件的对象,可以使群发编程更简单。
即使是很多其他组件也都能完成的发邮件功能,JMail 的完成也可以称得上最出色的,除了常见的抄送暗送等多收件人功能外,它还支持添加嵌入式图片附件,并且可以从URL读取文件作为附件。
JMail 的免费版本拥有全部完成的发邮件功能,只在收邮件和加密邮件等我们不常用到的方面进行了限制。
因为非常喜欢这个组件,阿江我在2002年3月就把这个组件的用户指南翻译了一下,可惜当时有一些地方不太理解,翻译是错误的,还没有来得及改过来,不过明眼人是能看出来的。
ASPEmail 组件
ASPEmail 组件也是常用的发邮件组件之一,不过因为售价不菲,国内使用的用户还不多。从功能上说,这也是一个功能全面的发邮件组件。2002年的时候它不支持收信,不知道现在是否支持了。
文件上传组件最近几年是越来越多,国内很多ASP爱好者编写了自己的上传组件。为了提高安全性,动网等商业机构也推出了免费的文件上传组件。
SA-FileUp 组件
SoftArtisans 公司的文件上传组件,它是早期国内的虚拟主机商默认安装的组件之一,很多老程序员都有利用它编程的经历。安装后自动安装一个 解压组件
呆呆IIS管理组件可以完成IIS 6.0的站点添加、修改、删除等管理操作,可以管理应用程序池、系统用户、系统用户组、文件夹权限、SERV-U账户等。
asp(2张)
呆呆文件压缩解压组件可以完成基本的文件压缩和解压操作,支持设置压缩率和密码。
w3.Socket 组件
Dimac 公司免费的 Socket 组件,借助该组件,您可以通过ASP程序直接完成与目标服务器的连接,比如可以连接WHOIS服务器获取域名的WHOIS信息,连接时间服务器获取标准的时间,连接DNS服务器进行域名解析等,当然前提是你要对相应的网络协议有足够的了解才行。下载
分类:asp.net | | 浏览:67 | | |
上一篇:RadControls for ASP.NET
下一篇:JSP
发布评论:
0
0