ASP高级技巧精选集(2)


    远程脚本调用技术要求服务器端的脚本必须用javascript编写。下面示例声明了一个Description类,该类包含一个公用的saml函数,用new关键字创建Description,即public_description对象。
    1.远程脚本调用对象服务器端的要求:
<%@language=vbscript%>
<%RSDispatch%>
<!--#include file="../rs.asp"-->
<Script language=javascript runat=server>
function Description(){
    this.saml=saml;
}
public_description=new Description();
function saml(str){
    return "hi!" + str + ":\n你的SessionID=" + Session.SessionID+"\n你的IP="+Request.ServerVariables("REMOTE_ADDR");
}
</Script>

2.远程调用功能对客户端的要求。首先,启用远程脚本调用技术功能的Web页面必须引用RS.htm;其次,必须调用RSEnableRemoteScripting函数。RSEnableRemoteScripting函数允许在参数中指定RSProxy.class文件所在的实际路径,果没有指定这个参数,默认为RSProxy.class在_scriptLibrary目录下:
<script language="javascript" src="../rs.htm"></script>
<script language="javascript">RSEnableRemoteScripting("..");</script>

3.调用远程脚本。完成上面的准备工作后,就可以用RSExecute方法在客户端代码中远程调用服务器端函数了。该方法接受的参数包括服务器ASP页面的URL、远程函数名字以及参数列表。其调用结果是一个调用对象(Call Object),包含该次调用的返回值以及状态信息,其主要属性包括:
id:该次调用的唯一标识(属性实际上是一个XML字符串);
return_value:实际返回值,如果存在的话;
data:服务器响应该次远程调用返回的原始数据;
status:标识本次调用的状态,-1表示失败,0表示完成。
message:有关本次调用的文本信息。如调用成功,为Completed,否则,包含错误说明。

 

四、从SQL数据库中调用图片显示:
<%@language=VBscript%>
<%Option Explicit%>
<%
Dim conn,rs,pic,picsize
Response.Buffer=True
'设置http表头信息,以便让浏览器解释作为gif图象返回的数据
Response.ContentType="image/gif"
set conn=server.createobject("adodb.connection")
conn.open "................."
set rs=server.createobject("adodb.recordset")
rs.open ".................",conn,0,1
picsize=rs("img").actualsize
pic=rs("img").getchunk(picsize)
response.binarywrite pic
response.end
%>

 

五、使用DLL一定比ASP代码速度快吗?
不一定,在IIS5.0里,ASP的速度已经得到了一定的提升,很多情况下ASP代码运行速度比使用DLL更快。如果DLL代码编写得不够理想,往往比ASP更慢。但DLL有比ASP更好的优势:比如功能、安全性、共享等。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/3214.html