当前位置: 首页 > 图文教程 > 网络编程 > ASP > ASP服务器组件的编程

ASP
论坛树状记录表的堆栈展开
Oracle大文本在ASP中存取问题的解决
ASP创建SQL Server数据库的两种方法
浅谈session_onend的调试
用ASP访问数据库的几种常见方式
教你一次下载网页中的所有资源
20种看asp源码的方法及工具
在ASP中使用智岛网格控件全过程
解决使用ASP无法连接ORACLE 9i数据库的问题
用Js判断输入的时间是否有效
ADO数据与XML数据间的转换的类
使用命名管道访问SQL Server
网页加速之网页结构篇
在红蜻蜓中实现多房间
在ASP中使用Oracle数据库技巧
关于分页办法
在VB中使用API函数(Any)
网站ASP漏洞小总结
网页之定时器详解
实用函数- 判断输入的是否是电话号码

ASP服务器组件的编程


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 30 ::
收藏到网摘: n/a

      
  1.什么是ASP服务器组件
  
  ASP(Active Server Page)是当今开发交互式Web页面、Web数据库应用最强大的技术。在其中可以混用HTML、DHTML、ActiveX、VBScript或JavaScript。当这些技术都无法奏效时(例如进行高密度的数学运算、封装特定的数据库处理逻辑等),可以使用服务器组件(Server SideComponent)进一步扩展ASP的能力。
  Server SideComponent实际上是运行在服务器上的一个DLL,它可以完成常规DLL所能胜任的任何任务。不同之处是:它由ASP页面调用、并以Web页面为交互对象,读入用户的输入(Web页面上各输入域的值),处理后返回结果到Web页面。这些交互当然都要通过Web服务器作为中介。可以用VB、VFP、VC++、C++Builder、Delphi等任意支持COM技术的语言编写。由于它可以利用服务器的任何资源,其功能仅受限于你的想象力。
  目前支持ASP的Web服务器有IIS(Internet Information Server,WinNT Server4.0自带)和PWS(Personel Web Server,用于Win95环境)。并要求安装VisualInterDev中的Server Components:FrontPage Server Extensions、 Active ServerPages和Client Components:Visual InterDevClient。可以把这些都安装在同一台机器上,这样可以在单机上方便地编程、调试。
  下面用VB5.0开发一个Server Side Component(一个ActiveXDLL),以实现Web页面上的随机图形显示,相信它会为你的站点增色不少。
  
  2. Web页面上的随机图形显示
  
  一个漂亮的图形可以使Web页面更具吸引力,使人流连忘返。但一旦我们的Web页面设 计完成,这个图形也就确定下来。换言之,除非我们重新修改HTML代码,则每次打开这个页面,看到的都是同样一个图形。那么能否让用户在每次进入我们的站点时,都能看到不同的画面呢?例如:每次这个Web页面被访问时,从一个包含若干图形文件的文件夹中随机选取一个,在该页面上显示,使访问该页面的用户每次都会得到不同的视觉享受。
  这个要求用HTML、DHTML或VBScript语言无法做到,这里我们用一个ASP服务器组件实现之。
  
  3.用VB5.0建立ActiveX DLL
  
  首先在VB5.0中新建一个Project ,类型为ActiveX DLL :设定属性如下:
  Project Name:RandShowFile,
  ClassModule Name:Randimage
  其中类Randimage的代码如下:
  Option Explicit
  Private mvarFilePath As String 'local copy
  Public Property Let FilePath(ByVal vData As String)
  '设置文件路径
  If Right(vData, 1) = "/" Or Right(vData, 1) = "\" Then
  mvarFilePath = vData
  Else
  If InStr(vData, "/") <> 0 Then
  mvarFilePath = vData & "/"
  Else
  mvarFilePath = vData & "\"
  End If
  End If
  End Property
  
  Public Property Get FilePath() As String
  '取得文件路径
  FilePath = mvarFilePath
  End Property
  
  Private Sub Class_Initialize()
  mvarFilePath = ""
  End Sub
  
  Public Function Show(Optional ByVal Extension As String) As String
  '从指定文件路径中随机选取并返回一个文件名
  Dim MyPath As String
  Dim MyName As String
  Dim List() As String
  Dim FileCount As Integer
  Dim n As Integer
  On Error GoTo badnews
  If Len(mvarFilePath) <= 1 Then
  Show = "NoFilePathSpecified "
  Erase List
  Exit Function
  Else
  If IsMissing(Extension) Then
  Extension = "*.*" '如果扩展名没有指定,则默认为*.*
  End If
  MyPath = mvarFilePath & Trim(Extension) ' Set the path.
  MyName = Dir(MyPath, vbNormal) ' Retrieve the first entry.
  End If
  FileCount = 0
  ReDim List(10)
  Do While MyName <> ""
  List(FileCount) = MyName
  FileCount = FileCount + 1
  If FileCount >= UBound(List) Then
  n = UBound(List)