COM+,大家都来讨论下,以解开迷团 ( 积分: 200 )

5

5207

Unregistered / Unconfirmed
GUEST, unregistred user!
COM+真是烦。。。
想实现COM+的远程调用。
环境如下:
1、服务端WINXP SP2 局域网通过路由器共享上网
2、COM+安装服务端上。
3、客户端在外网可连接Internet。
目前出现的问题是提示: RPC服务器不可用
另:在同一台电脑上安装服务端数据库、COM+、客户端软件都装在同一步电脑上调用正常。。
我觉得可能是两个原因:
1、由于IP不在我的服务端电脑上,而在路由器上,所以外网电脑无法访问到。
2、访问到了可能是安全检查不通过,如用户不正确等等。

我看了许多次资料都说COM+要在服务端装一份,在客户端还要装一份代理?但又有朋友跟我说:客户端还要装一份还叫COM+吗?
 
大家帮我解答下!
 
RPC服务器不可用
我们把服务关闭时会报这个。你的DCOM连接之类的指明了coputerName吗。
你将服务端和客户端都在一台机上时,客户端的coputerName为空的话会自动连接到本机的服务上,所以一台机能用。服务与客户分开时会找不到服务器。
 
kangshijiu,
对的,在一台电脑上是可以访问的。我是远程调用。
服务器在一个局域网内,而IP在路由器上,我不知道COM+如何能找到内网中的哪台机器
 
COM就是:
COM_A -> {65237-765347923954912374-62348723684723} -->
c:/abc/mycom.exe 或 c:/abc/mycom.dll
其实最后执行的是c:/abc/mycom.exe 或 c:/abc/mycom.dll!
所以客户端也需要安装啊!除非Windows已经帮你安了!
呵呵!
 
to:wql
意思就是客户端和服务端都要装一份COM+咯? 这一点有朋友说是COM才要如此,COM+可以不用的呀?否则分布式系统如何升级呀?每个客户端都要去重新注册组件哦!
 
COM配置总是控制不好。晕
 
我问的问题就没有朋友有答案吗?
能给个相当的提示都是好的。我对COM+真的不太懂!
 
是不是你的中间层终止了
 
COM本来就是在内网用的
用VPN弄成内网先
 
TO:ycluo,
我没有中止,我现在可以使用SocketConnection连接Transaction Data Module,但是如果我创建COM+用的是Transaction Object 则不行。。。
TO:xusong168,
这点我不以为然,肯定可以在公网上使用。
 
com+,刚刚认识它。学习、关注一下
 
呵呵,共同学习
 
RP服务器不可用的原因很复杂,我就曾经遇到到很多的可能。
客户端需要注册的,服务器端编译好之后,需要导出一份,然后在客户端安装注册,这样客户端才能实现远程调用。
 
你把中间层的COM+属性设好了吗?还有关闭中间层的防火墙或添加例外
 
中间层的防火墙关了。
 
可以了没.
 
还不行。目前有个新的问题。
我使用了TSocketConnection可以连接Transaction Data Module 但是我的业务逻辑都封装在Transaction Object里,而Transaction Object却不能连接,这两个都是COM+不知道Transaction Object应该如何远程访问呢?
 
在服务器组件中把MSDTC的安全性配置中的选项全勾上,不要求进行验证
 
com+ ,不是DCOM吧。DCOM是不能用在internet上的,因为需要开放135端口,而这个端口太容易被攻击,所以所有的网络服务器斗关闭了这个端口。
这个纯粹是微软制造的笑话。
不知道我的理解对不对。用vpn吧。
 
顶部