|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
我想详细了解ASP整站代码与PSP整站代码有什么优缺点,那个更好,更安全,更用容易维护,和管理。。。编程|成绩基于ASP的编程罕见成绩
基于ASP手艺开辟Internet/Intranet上的MIS体系长短常便利的,起首是它借用了ADO手艺和观点,同时经由过程ODBC会见数据库,到达了充实的天真性和多平台性,别的,因为ASP使用VBS和JS剧本言语,也包管年夜多半开辟者很快进进开辟历程,削减了进修的历程。
可是,因为ASP是基于Internet/Intranet体例的,它和传统的C/S布局究竟有所分歧,如许在开辟中也要注重一些细节成绩。本文报告罕见的一些成绩,并给出办理办法。
成绩形貌
A.没法准确运转ASP
当我们创建了一个ASP文件,而且切合语法时,经由过程扫瞄器输出以下地点,或经由过程资本办理器翻开扫瞄:
c:inetpubwwwroota.asp
将呈现没法运转的毛病,并提醒权限不合错误或文件没法会见,缘故原由是,ASP文件起首请求站点是具有“实行(剧本)”属性的;然后请求依照URL格局输出地点,而不是DOS格局,以是,请更正这两个毛病。
B.程序挪动地位后,没法会见数据库
这类毛病起首在ODBC,假如ODBC数据源设置准确,那末必要注重ASP中翻开数据库的命令:Conn.Open的参数是不是准确。假如准确,则必要注重是不是利用了global.asa文件,该文件是ASP毗连数据库的设置文件,该文件内容以下:
<SCRIPTLANGUAGE="VBScript"RUNAT="Server">
YoucanaddspecialeventhandlersinthisfilethatwillgetrunautomaticallywhenspecialActiveServerPagesevents
occur.Tocreatethesehandlers,justcreateasubroutinewithanamefromthelistbelowthatcorrespondstotheevent
youwanttouse.Forexample,tocreateaneventhandlerforSession_OnStart,youwouldputthefollowingcodeintothis
file(withoutthecomments):
EventNameDescription
Session_OnStartRunsthefirsttimeauserrunsanypageinyourapplication
Session_OnEndRunswhenauserssessiontimesoutorquitsyourapplication
Application_OnStartRunsoncewhenthefirstpageofyourapplicationisrunforthefirsttimebyanyuser
Application_OnEndRunsoncewhenthewebservershutsdown
</SCRIPT>
<SCRIPTLANGUAGE=VBScriptRUNAT=Server>
SubSession_OnStart
==VisualInterDevGenerated-DataConnectionstartspan==
--ProjectDataConnection
Session("Customers_ConnectionString")="DRIVER={SQLServer};SERVER=(local);UID=sa;PWD=;APP=Microsoft(R)DeveloperStudio;WSID=GREGLEAK;DATABASE=Customers"
Session("Customers_ConnectionTimeout")=15
Session("Customers_CommandTimeout")=30
Session("Customers_RuntimeUserName")="sa"
Session("Customers_RuntimePassword")=""
==VisualInterDevGenerated-DataConnectionendspan==
EndSub
</SCRIPT>
要注重个中的DSN,个中SERVER后必定是数据库服务器称号,假如该处不准确,必要更正。别的是UID和PWD是不是准确;另有,假如OPEN命令利用了SESSION,则必要注重
Session("Customers_RuntimeUserName")="sa"
Session("Customers_RuntimePassword")=""
是不是准确。
C.RUNAT利用成绩
在剧本语法中,有RUNAT参数,暗示该剧本是运转在服务器上仍是客户机上。假如有RUNAT=SERVER则剧本运转在服务器上,由ASP注释程序来注释实行,并将了局传送给WWW服务器;不然就是运转在客户机上,由扫瞄器的剧本假造机注释实行,这时候,和一样平常的剧本没有区分。以是,必定要注重ASP语法中的命令,如:REQUEST,QUERYSTRING,WRITE等命令或工具必需在具有RUNAT参数的剧本运转;而会见HTML的FORM工具的剧本必定没有RUNAT参数,由于HTML的FORM是客户机方面的工具,服务器没法会见。
D.没法向SQLSERVER拔出日期字段
假如碰到必需利用美国日期格局拔出日期的情形,则必要在服务器的地区设置上设置中国永日期格局,请出格注重,ASP是在服务器上运转的,天生的HTML了局传送给扫瞄器,以是,一切格局设置必需在服务器上。
E.怎样向客户机推送提醒信息
假如在服务器上判别会见毛病,如注册失利、无权操纵纪录等必要提醒用户的信息。这个信息必要推送到客户机上,并呈现提醒窗口,这是常常碰到的成绩。这个时分,必需利用静态页面的体例,由于毛病是在服务器上判别的,而提醒是在扫瞄器上呈现的。我们可使用上面的ASP来推送毛病:
onerrorresumenext
conn=server.createobject("adodb.connection")
conn.open"pubs","wlf",""
假如注册失利则毛病数年夜于0
ifconn.errors.count?then
‘以下代码天生客户机上的剧本言语,供应给扫瞄器实行
response.write"<scriptlanguage=javascript>"&chr(13)
response.write"{"&chr(13)
response.write"window.alert("您无权会见数据库!")"&chr(13)
response.write"}"&chr(13)
response.write"</script>"&chr(13)
endif
F.客户机只管利用流动IP地点
因为ASP毗连数据库是准时的,默许是:
Session("Customers_ConnectionTimeout")=15
Session("Customers_CommandTimeout")=30
两个设置决意的工夫,超时后主动断开毗连,以是,当革新页面从头实行ASP代码时,假如IP分派工夫不敷(静态IP分派必要工夫,比静态长良多!),大概没法毗连上,则呈现毛病信息,以是只管用静态IP地点。
总结
利用ASP编程是很便利的。因为ADO超过了ODBC,构成具有多线程处置才能的数据库操纵体例,而且是在服务器上运转,固然增添了服务器的压力,幸亏如今的服务器(哪怕是PC服务器)处置才能都十分强,如许反而发扬了服务器的效力。别的,因为ASP能够和ActiveX控件举行优秀的接口,也使开辟者简单依据本人的必要扩大程序,并间接创建在ASP编程情况上,独一必要注重的是,必定要以Internet/Intranet的思绪计划和编写程序,不然将事半功倍。
</p>帮助用户快速实现各种应用服务,ASP商有整合各方面资源的能力,可在短期内为用户提供所需的解决方案。例如,典型的ERP安装,如果要在客户端安装的话需要半年到二年的时间,但是美国的一些ASP商如USI和CORIO能在90—120天内提供ERP应用方案。 |
|