在ASP中调用DCOM组件的应用技巧
|
在ASP中调用DCOM组件的应用技巧 1、编写DCOM组件: 假设我们想通过ASP页面来远程启动DNS服务,并且DNS服务器与Web服务器不为同一台机器。我们可以编写一个ActiveX DLL 来实现这个功能。 首先我们建立一个批处理文件StartDNS.bat,文件中写入:Net Start DNS。将文件保存在DNS服务器的一个目录下,例如C:ManDNS: 其次我们编写 Dll 程序如下(VB编写): Public Function StartDNS() As Boolean On Error GoTo ErrHandle Dim strReturn strReturn = Shell("C:ManDNSStartDNS.bat") StartDNS = True Exit Function ErrHandle: StartDNS = False End Function DLL 名称为 ManDNS 类名为 DNSClass 我们将此DLL保存在C:ManDNS下。 2、注册DCOM组件: 编写好DLL程序后,我们要将其注册到服务器上。 首先在DNS服务器上打开Microsoft Transaction Server, 点击Computers,再点击My Computer,选中Packages Installed ,单击鼠标右键,选中New 再单击Package。会弹出Package Wizard。选中空包,取名为ManDNS,确定完成。点开此包,选中Component,单击鼠标右键,选中New --->Component。点击Import Component That Are Already,在列表框中选中ManDNS.Dll。 然后在Web服务器上打开Microsoft Transaction Server, 点击Computers,点中Remote Computer,选中DNS服务器上的ManDNS Component,单击OK,将其加入Web服务器。 3、调用DCOM组件: 编写StartDNS.asp,并在其中调用注册好的DCOM组件,程序如下: 〈 %@ LANGUAGE="VBSCRIPT"%> 〈 Html> 〈 head> 〈 title> Start DNS Page 〈 /title> 〈 head> 〈 body> 〈 h1> 单击按纽启动DNS服务 〈 /h1> 〈 % if Request.form(“click”) 〈> “” then dim StartDNS ,RenStart set StartDNS = Server.CreateObject(“StartDNS.DNSClass”) RenStart = StartDNS. StartDNS If RenStart then Response.Write “DNS服务启动成功。” Else Response.Write “DNS服务启动失败。” End if end if %> 〈 Form action = “StartDNS.asp” method = “Post”> 〈 Input type = submit name = submit value = “Start DNS”> 〈 Input type = hidden name = click value = “click”> 〈 /Form> 〈 /Body> 〈 /HTML> 对于程序员来说,可以利用自己熟悉的编程工具来编写ActiveX Dll,用MTS进行管理,并用ASP程序将各种组件合理的搭建成系统,可以在Internet上实现几乎无所不能的功能。 源代码网供稿. |
