C/S系统中三层结构(Com/Com+)的测试成功实现

2016-01-29 13:09 8 1 收藏

C/S系统中三层结构(Com/Com+)的测试成功实现,C/S系统中三层结构(Com/Com+)的测试成功实现

【 tulaoshi.com - ASP.NET 】


在做C/S三层结构之前,对Com+了解甚少,由于客户中途要求将两层结构改为三层结构(客户端+中间层+后台数据库),所以不得不狂看Com+相关的文档。经过两天的资料查找、文档阅读和反复试验,已基本了解Com+原理,并成功实现三层结构模型。
在三层结构的实现过程中,最为关键的是要实现中间层组件在服务器上的运行,即客户端如何调用服务器上的中间层组件,业务处理都在中间层操作。在这里面主要是用到了组件服务(Com+),现不讨论有关Com+原理性的知识,只描述实现过程。
1、首先在VB中写一ActiveX(DLL)组件,工程名为MyComTest,添加类模块,加入一个简单函数即可(如两数相加等)。编译成Dll文件,在编译的参数选项中(部件)要选中远程服务器文件。
2、打开控制面板/管理/组件服务,在COM+应用程序下利用COM+应用程序安装向导创建一个空的COM+应用程序,名称为ComTest。
3、在ComTest下,新建组件,在组件安装向导中,选择安装新组件(注意:不要使用导入已被注册的组件),然后将生成的dll及tlb都添加进来(两个文件都要!),完成。
4、右击刚才创建的ComTestCom+应用程序,选择属性,然后在属性对话框中的安全页下将将调用的身份验证级别改为无,将模拟级别改为匿名。
5、右击ComTest,导出客户端的应用代理。注意:在导出对话框中,必须选择应用程序代理而不是服务器应用程序!并将导出的文件在客户机安装!

6、好了!现在就可以在客户端进行调用了,随便弄个窗体,拉个按钮写入调用代码,采用CreateObject([ClassName],[ServerName/IP])创建远程服务器组件对象,运行后第一次运行在数秒弹出希望看到的运行结果,在激活服务器的准备状态以后的运行通常都在半秒内响应完成!
总结:
调试的时候废了很大的劲,开始不管怎么样配置Com+服务,总是发生拒绝的权限错误,查找了很多的资料,很多人都说在Com+配置中的启动权限中要要加入Everyone用户、登录用户的用户名和权限问题等等。全部试过,但是依旧解决不了问题。后来才发现应该配置的不是Com+服务中我的电脑中的的参数,而是应该配置你刚创建的Com+应用程序的属性,即将调用的身份验证级别改为无,将模拟级别改为匿名。我的电脑中的参数安装默认即可不用配置。
本测试在VB+win2000客户端+Win2000Server环境中测试通过。

来源:http://www.tulaoshi.com/n/20160129/1489101.html

延伸阅读
在本篇文章中,我们将讨论下面的问题: 使用C#创建一个简单的COM对象(使用COM的Interop特性)。 从VC++客户端软件中访问COM。客户端软件使用了TypeLibrary(.TLB文件)。 为了简单和方便开发人员使用、测试起见,我们使用了SQLSERVER数据库软件的缺省安装中的Northwind数据库。 修改COM对象中SQLServer的名字,与SQLSe...
标签: Web开发
    我们知道,想在一个操作系统执行任何一个操作都是需要用户的。然后操作系统会检查该用户是否有权限执行这个操作的权限,如果有,就会执行,如果没,就会拒绝。这和我们浏览网站是一样的道理,当我们在客户端输入一串URL并执行时,其实是向服务端发送要浏览的请求,在操作系统来看,它也是一个操作,也是需要用户的。以w...
我们知道,想在一个操作系统执行任何一个操作都是需要用户的。然后操作系统会检查该用户是否有权限执行这个操作的权限,如果有,就会执行,如果没,就会拒绝。这和我们浏览网站是一样的道理,当我们在客户端输入一串URL并执行时,其实是向服务端发送要浏览的请求,在操作系统来看,它也是一个操作,也是需要用户的。以windows为例,它是用:...
以远程计算机上的用户身份访问Com+应用 DELPHI程序员开发com+应用的速度是非常快的,其主要原因是其较好地封装了com+的windows底层功能,开发人员通过较为简单的类继承就避开了复杂的com+底层技术细节,使开发人员将精力放在应用本身的功能上面。Delphi在封装com+应用时采取了许多折衷,在保留通用性的同时也避开了一些实现起来困难但是应...
一、闲聊 今天要谈的话题是COM,稍微深入一点,不知道大家用过C++Test或者Visual Assistant之类的软件没有,它们都有个非常引人注目的功能,那就是把它们自身嵌入到VC开发环境中去。这个功能让我痴迷不已,原因只有一个:我想做一个可以嵌入VC开发环境的VC工程解析器,这样用户在VC开发环境中就可以直接对当前或所有工程进行各种分析,统...

经验教程

541

收藏

63
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部