ASP编程:Asp深度揭密(下)
强大的可扩展性。ASP具有强大的扩展性,可以实现与多种网络、硬件设备的连接:通过专用的通讯线路远程接入企业;通过远程拨号服务器为远程拨号客户提供服务;通过WAP为移动电话互联网客户服务。4、Asp组件的开辟与利用:1.组件的特性?
l长处:
n挪用便利,节俭代码
n平安性高
n撑持事件处置,多组件团结
n运转速率快
n晋级、修正组件不需修正页面,因而扩大性好
l弱点:
n开辟及调试坚苦
2.怎样利用VB开辟?
⑴.翻开VB>>NewProject>>ActiveXDLL
⑵.修正项目称号为course
⑶.修正类模块的名字为conn_db
⑷.Project>>References,援用COM+ServiceTypeLibrary和MicrosoftActiveServerPagesObjectLibrary。
⑸.修正类代码以下:
创建数据库毗连并输入数据库字段
DimResponseAsResponse
DimRequestAsRequest
DimServerAsServer
DimApplicationAsApplication
DimSessionAsSession
PrivateSubClass_Initialize()
DimobjContextAsObjectContext
SetobjContext=GetObjectContext()
SetResponse=objContext("Response")
SetRequest=objContext("Request")
SetServer=objContext("Server")
SetApplication=objContext("Application")
SetSession=objContext("Session")
EndSub
Subconn_db()
Setconn=CreateObject("adodb.connection")
conn.open"course_dsn","course_user","course_password"
Setrs=CreateObject("adodb.recordset")
rs.open"select*fromuser_info",conn,1,1
Ifrs.recordcount>0Then
Fori=1Tors.recordcount
Response.write"<br>"&rs("user_name")&"<br>"
Ifrs.EOFThenExitFor
rs.movenext
Next
EndIf
rs.Close
Setrs=Nothing
conn.Close
Setconn=Nothing
EndSub
⑹.增加一新类cutstr
⑺.修正类代码以下:
截取字符串
Functioncutstr(str,length)
IfLen(str)>lengthThen
cutstr=Left(str,length)&"..."
Else
cutstr=str
EndIf
EndFunction
⑻.File>>Save
⑼.File>>makecourse.dll
3.注册组件:MTS和regsvr32.exe
有两种体例注册组件:MTS和利用regsvr32.exe。MTS是值得保举的,由于它具有以下长处:
n静态卸载均衡,进步组件和基于组件的使用程序的晋级性。
n包括发布和提交事务和行列组件的才能,使得更简单与多个组件团结。
要想使组件具有MTS的特征,必需对组件做少量修改。在NT和98下开辟时,必需在项目中援用MicrosoftTransactionServerTypeLibrary,在Windows2000下开辟,必需援用COM+ServiceTypeLibrary。
⑴.regsvr32注册:
regsvr32.exe是system32上面的一个可实行文件,它将组件信息读进注册表,以便Asp挪用。
利用命令行进进组件dll文件地点的目次,实行“regsvr32dll_file_name”便可。
运转regedit,在HKEY_CLASSES_ROOT下就会找到course.conn_db项和course.cutstr项,标明组件注册乐成。
⑵.利用MTS注册:
①.入手下手>>程序>>办理工具>>组件服务
②.睁开目次至以下形态:
③.依照导游,下一步,直到以下对话框,点击“创立一个空的使用程序”:
④.在接上去的对话框中,为使用程序起名为“course”,其他默许,直至完成
⑤.睁开course使用程序,右键,新建一个组件
⑥.依照提醒,持续,呈现以下对话框时,选择“导进已被注册的组件”
⑦.选择我们开辟的组件,下一步,直至完成
⑧.这时候候,能够发明course使用程序下已多了两个组件:
4.在Asp中挪用组件
asp_use_com.asp
<%
asp挪用com组件
setcutstr_obj=server.createobject("course.cutstr")
response.writecutstr_obj.cutstr("abcdefghijk",3)&"<br>"
setcutstr_obj=nothing
setconn_obj=server.createobject("course.conn_db")
conn_obj.conn_db()
setconn_obj=nothing
%>
效果:
abc...
ahyi
tuth
申明挪用乐成。
5.卸载组件
⑴.利用regsvr32注册的组件,利用-u开关卸载:
注重:先辈进组件dll地点的目次,然后利用“regsvr32Cudll_file_name”卸载;卸载后重启IIS便可。
⑵.利用MTS注册的组件,先在“组件服务”中删除对应的使用程序,然后再实行步骤⑴以完全卸载组件。
6.Dll组件寄存地位和权限设定
⑴.我们只必要把编译天生的Dll文件拷贝出来便可,其他的文件不必做处置
⑵.要把Dll放到Web站点以外,如system32目次里,避免被下载
⑶.Dll的文件权设置为System读取,Internet用户遍历文件夹/运转文件
⑷.Dll在IIS中往失落一切的权限,如读取,剧本志愿会见等
经由上述处置,能够确保Dll文件的平安。
7.其他
怎样在组件中利用Asp的工具以便利的将Asp代码移植为COM组件?
5、IIS最优化设置
1.Web站点选项卡:IP、端口、假造主机、毗连、日记
2.ISAPI选择器:到场PHP和JSP撑持
3.主目次设置选项卡:IIS权限设定(分离文件权)、实行允许、使用程序回护、映照、缓冲、父路径、堕落信息
4.其他选项卡:自界说毛病、Http头、目次平安性、文档
5.文件紧缩带来的优点和害处
6、其他
1.发送邮件(JMail;Mssmtp)
利用MicrosoftSmtp发送电子邮件
⑴.安装MicrosoftSMTPService
⑵.设置MicrosoftSMTPService
⑶.代码部分:
mail_smtp.asp
<%
subsendmail(fromwho,towho,subject,body)
dimmymail
setmymail=server.createobject("cdonts.newmail")
mymail.from=fromwho
mymail.to=towho
mymail.subject=subject
mymail.body=body
mymail.send
setmymail=nothing
endsub
%>
</p>ASP一般认为只能运行在IIS上,正如前面所提到的,这并不是十分正确,事实上,ASP也能运行在Apache上。ApacheASP可在任意Apache服务器上运行有限的ASP功能,所需做的,只需打开mod_perl。 以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。 Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点) Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件 在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。 以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。 尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。 多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。 Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)
页:
[1]