在ASP中如何调用远程MTS组件及如何在VB编写MTS组件

jerr 2000-03-18 09:57:00
加精
小弟请教各位大虾:
在ASP中如何调用远程MTS组件,如何在VB编写MTS组件,是否与其他组件一样,最好能给个例子SOURCE CODE,谢谢!
...全文
451 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
mj62 2000-10-03
  • 打赏
  • 举报
回复
你们都说得好深奥啊!我看不懂哦!我是个大菜鸟!~-~
你们能教我吗?和我联系吧!我们共同进步!QQ:2832655
popoli 2000-03-20
  • 打赏
  • 举报
回复
可以在在ASP声明处写上transaction=required然后在服务器处理代码中加入transaction提交与处理错误触发的历程.
littletao 2000-03-20
  • 打赏
  • 举报
回复
计算机世界的一文章,希望有帮助。

在ASP中调用DCOM组件的应用技巧
商网络技术(上海)有限公司
蒋心武
---- 由Microsoft 公司推出的DCOM组件,全称是Distributed Component Object Model,可以在中间层进行事务逻辑服务,处理各种复杂的商务逻辑计算和演算规则。其与ASP配合,由ASP页面与DCOM组件建立连接,再通过对DCOM组件的调用,可以轻松实现某些复杂的功能。DCOM组件可利用VB、VC、DELPHI、PB和JAVA等多种语言工具来实现,所以其处理事务逻辑的能力十分强大。如果再利用MTS进行组件管理,则更加提高了性能。下面我用例子来具体说明。

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 = "../../../../tppmsgs/msgs10.htm#2129" tppabs="http://www.computerworld.com.cn/99/tips/2k01/%A1%B0StartDNS.asp%A1%B1?submit=“Start&click=“click”" 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上实现几乎无所不能的功能。


mach 2000-03-20
  • 打赏
  • 举报
回复
1.原则上,任何com组件都可以在mts下运行,但要想真正发挥mts的优势,你的组件应该考虑使用IObjectContext来实现组件的复用,并要满足mts的一些特殊要求,如支持激活,apartment的线程模型,使用SafeRef等,这样的组件才是真正的mts组件,随着win2k的推出,com+将会成为未来的标准,而你的mts组件将能更好的满足com+的要求(com+ == mts new version).
2.必须注意:不是所有的com组件都能被asp中的vbs直接使用,要想通过vb/vbs使用,你的组件必须支持IDispatch或dual类型的接口.用vb变的组件都支持IDispatch.
3.在asp中调用com组件时,不用考虑他是否是mts组件或是否在本地,对asp中的script来说这些都是透明的.
King 2000-03-19
  • 打赏
  • 举报
回复
这么大的工程,NO MONEY NO TALK。
fat1 2000-03-18
  • 打赏
  • 举报
回复
这个问题折磨大,你才个这点分,你液态小气了吗!
王释之 2000-03-18
  • 打赏
  • 举报
回复
用createobject或许可以

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧