服务器组件检测

在使用非操作系统自带组件的时候,都应该在创建实例前判断下服务器是否安装了该组件,在没有安装时给出提示,避免程序莫名奇妙的抛出错误。

一、检测函数

'该函数来自阿江探针http://www.ajiang.net/products/aspcheck/
<%
sub ObjTest(strObj)
  on error resume next
  IsObj=false
  VerObj=""
  set TestObj=server.CreateObject (strObj)
  If -2147221005 <> Err then        '感谢网友iAmFisher的宝贵建议
    IsObj = True
    VerObj = TestObj.version
    if VerObj="" or isnull(VerObj) then VerObj=TestObj.about
  end if
  set TestObj=nothing
End sub
%>


二、常见组件名称

1.操作系统自带的组件:
MSWC.AdRotator
MSWC.BrowserType
MSWC.NextLink
MSWC.Tools
MSWC.Status
MSWC.Counters
IISSample.ContentRotator
IISSample.PageCounter
MSWC.PermissionChecker
Microsoft.XMLHTTP
WScript.Shell
Scripting.FileSystemObject
Adodb.Connection
Adodb.Stream

2.常见文件上传和管理组件:
SoftArtisans.FileUp
SoftArtisans.FileManager
Ironsoft.UpLoad
LyfUpload.UploadFile
Persits.Upload.1
w3.upload

3.常见邮件处理组件:
JMail.SmtpMail
CDONTS.NewMail
CDO.Message
Persits.MailSender
SMTPsvg.Mailer
DkQmail.Qmail
SmtpMail.SmtpMail.1

4.其它常见组件:
SoftArtisans.ImageGen
W3Image.Image
Persits.Jpeg
XY.Graphics
Ironsoft.DrawPic
Ironsoft.FlashCapture
dyy.zipsvr
hin2.com_iis
Socket.TCP

三、应用

<%
sub ObjTest(strObj)
  on error resume next
  IsObj=false
  VerObj=""
  set TestObj=server.CreateObject (strObj)
  If -2147221005 <> Err then        '感谢网友iAmFisher的宝贵建议
    IsObj = True
    VerObj = TestObj.version
    if VerObj="" or isnull(VerObj) then VerObj=TestObj.about
  end if
  set TestObj=nothing
End sub

Dim IsObj,VerObj
Call ObjTest("JMail.SmtpMail")
If IsObj then
    Response.write "系统有安装JMail.SmtpMail 版本为" & VerObj & "!"
Else
    Response.write "系统没有安装JMail.SmtpMail!"
End if
%>


评论: 1 | 引用: 0 | 查看次数: 4331
发表评论
登录后再发表评论!