日期:2009-10-26  浏览次数:21328 次

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:\ManDNS\StartDNS.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上实现几乎无所不能的功能。