日期:2014-05-19  浏览次数:20867 次

200高分请 思归、孟子 等 MVP 专家解答 .Net + COM+ 使用分布式方案出现无法解决的实际问题
前言:
实际应用中,若数据量大,分布式用   http,tcp,   remoting   经过测试速度远远不如DCOM   ;

问题一:   我用   .Net2.0   +   COM+   做服务组件后,   客户端访问应用服务器的名字只能用   计算机名称,而不能用   IP   ,那如果我在跨多网段的环境下,   用计算机名不行,如何解决?

问题二: "服务器端   拒绝客户端访问   ",   在网上找了多少天了,唯一能解决的方案是在服务器端建帐号,然后客户也一样建,并且客端要用这个帐号进系统;

以上问题,若在实际应用中不解决,真是麻烦多多,请有过实际使用经验的前辈给点指点,我的   e_mail:   jinwmmail@126.com   ,   问题解决,给多少分没问题!

------解决方案--------------------
COM/COM+/DCOM在.net出来后基本不是主流的了
现在适合拿来和.net做个对比研究,我认为新项目中不应该继续用这个。

remoting 是个不错的选择,搂住认为很慢,这个有多种原因,可能是楼主在这方面花的时间不够,没有找到精髓所在。
当然clr平台耗资源这个是真的。



------解决方案--------------------
建议读一些这方面的书 , 如
C# WEB服务高级编程——使用.NET REMOTING和ASP.NET创建WEB服

里面也讲到如何提高网络通行的性能,如何提高服务的处理能力等等
------解决方案--------------------
你所需的技术很前沿哈
不懂,等孟子那位砖石级的高手来解
等待学习中。。。。。。。。。。。
------解决方案--------------------
占个座先
洗耳恭听
------解决方案--------------------
DCOM 不只是程序...去学习下Active Directory吧...有了基础环境的支持你会发现许多问题都迎刃而解...
------解决方案--------------------
谢谢 vrhero(这个家伙很懒...) 的意见.

当然客户都登录到这台 DCOM 所在的 域控制器 就没题. 但实际上 客户端不一定将这台机台主要域控制器来进入,那企不是要用程序,就要进一下这个域?( 我是不太懂AD);即使这样,那跨多网段的调用用IP可以还是仍要用域中的计算机名?
------解决方案--------------------
友情帮顶
------解决方案--------------------
AD 是企业级架构,不是只有一台 DC(没有主要域控制器),也不是只能在局域网内跑...
AD 可以构建在 Internet 上遍布全球,在整个 AD 森林中是用域名来标识主机的...
这部分很复杂的,不是几句话能说清楚,建议你去看看微软的 Active Directory 相关的资料...
------解决方案--------------------
> 实际应用中,若数据量大,分布式用 http,tcp, remoting 经过测试速度远远不如DCOM ;
这应该与你的实现方式有关,从理论上讲,TCP应该是最快的。你觉得数据量大时太慢,应该是因为你用TCP时想一次性传送所有数据,而DCOM则可能使用了类似自动分页的功能。

DCOM的技术思想过于陈旧了,主要应用于局域网,已经不适合现在的互联网与防火墙的时代了。

------解决方案--------------------
客户端不一定将这台机台主要域控制器来进入,那企不是要用程序,就要进一下这个域?
-----
关于这点,AD 是 SingleLogin,只要登录到任意一台 DC,就会得到整个 AD 森林的安全凭证...
利用 Windows 集成身份验证用户甚至没有显式登录应用程序的过程,因为登录到 Windows 时已经获得安全凭证,在退出登录之前都可以用它来验证...
------解决方案--------------------
我开始做系统是也是在internet上太慢,后来改用ftp传输数据,发现好多了。
------解决方案--------------------
DCOM的技术思想过于陈旧了,主要应用于局域网,已经不适合现在的互联网与防火墙的时代了。
-----------
存在即合理,你没见过真正的企业级应用怎么就敢说“过于陈旧”?互联网也是“局域网”组成的...
------解决方案--------------------
分布式程序瓶颈在网络速度,并不在乎你本地运算速度的差异!你可用 remoting传输二进制数据!
------解决方案--------------------
如果应用环境时internet,你应该考虑的是webservice,至于速度慢,那应该从其它方面想办法解决,比如减少返回的记录数,异步调用,分页,自己使用2进制序列化数据及几种方式组合使用等等来提高效率。
------解决方案--------------------
To vrhero(这个家伙很懒...) :
> 存在即合理,你没见过真正的企业级应用怎么就敢说“过于陈旧”?互联网也是“局域网”组成的...

你怎么知道我没见过真正的企业级应用? 我就是设计与开发企业级软件产品的,我们上一代产品用的就是用的DCOM,不说别的,光是为了DCOM穿越防火墙,就已经头破血流了。
------解决方案--------------------
学习ing ...
------解决方案--------------------
做个标记