• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > 关于com的几个问题,请大家澄清一下!

关于com的几个问题,请大家澄清一下!

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了com 检查失败问题,dr.com常见问题,dr.com问题,com问题,tom51.com请用等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 关于com的几个问题,请大家澄清一下!
描述:

com可以作为dll,exe服务。
1)如果作为exe服务,我们可以创建本地或远程进程服务,Allowing merging proxy/stub code 就灰掉了,这说明什么???exe com的proxy/stub到底是以什么样的形式出现和发布?
2)作为dll com可以作为分布式com服务远程调用吗?是不是客户需要也要安装和注册dcom?如果可以,是不是服务端还要用dllhost.exe 代理将dll com创建为一个可以独立运行的com服务进程呢(当然两端的DConfig配置少不了的)?
请com高手澄清说法,呵呵!
我的看法是,学了com很长时间,对理论和一些机制还是有些认识。不过在高级特性如线程与安全模型,还是光看没做,工作很少涉及的。等等。感觉xml webservice 学起来容易,使用方便,配置也不成问题。java 在webservice 组件方面有ejb强大的支撑,使用也不错。


解决方案1:

1)EXE的COM服务器必定是进程外激活,代理/存根代码是必需的,所以不用选择。
2)dll可以用于进程外/远程激活,这种方式往往用于已有的dll组件的远程使用,但是已有组件的注册信息要作调整,要为dll分配一个APPID,在激活是要使用代理方式,这样SCM会使用dllhost.exe包装dll。

解决方案2:

顾名思义,代理占位,当然是要在不同的进程空间才需要的。实际上,客户在调用服务器组件的时候就是需要同代理dll打交道,而代理dll在通过lpc和已经在服务器com那里占到位置了的dll进行通信,对客户来说屏蔽了不同进程空间的信息交互。
我的理解,在ATL向导建立EXE工程的时候灰掉的选项的意思不因该是不允许代理占位的dll的生成,如果是那么p.c文件怎么出来的,代理、占位服务不在这个时候用,那该在什么时候?难道是进程内组件用的??
第二点:对于dll,因该不可以作为独立的COM服务器运行,一个独立的COM服务器起码有自己可以依赖单独启动的宿主。分布式COM通信也遵守RPC协议进行通信,如果没有独立启动的宿主,就一个dll,在远端能提供服务吗?
    纯属个人意见,有不对的地方望大虾海涵。。。

解决方案3:

weirdy(软件设计师):
           说的对头!

解决方案4:

对于exe,PROXY/STUB是不能合并的(这里应该是指不和EXE合并,而不是说proxy+stub)因为他们要运行在不同的进程来实现调度.DLL可以作为分布式对象,当然需要双方安装并配置DCOM,COM对象是在DLL中或者exe中不影响他的功能,对客户透明.

解决方案5:

1,把proxy/stub 和组件合在一块,减少发布时的麻烦
2,必须是exe,当然你也可以写一个代理进程,像com+一样

解决方案6:

1,如果在向导中选择exe来作为服务器类型,对话框底部所有选项都变成灰色,这表明不能使用他们了,为什么不能把代理/桩子放在exe文件中呢?这是因为代理/桩子必须在客户端进程内,如果把它放在可执行的服务器程序中,那么他就变成进程外的了。再说说为什么exe服务器不能支持MTS/COM+?因为这些技术依赖于被dll监管程序运行的服务器。
2,dll com不能作为分布式com,它是进程内组件。Dcom肯定要安装和注册dcom和DConfig配置。
这是我自己的理解!难免有错!一起探讨!


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • COM问题,帮我看看
  • 初次使用COM,有编译链接问题请大家帮忙。
  • com的注册问题
  • 关于COM问题
  • COM注册失败问题
  • 修改COM属性问题
  • 关于COM的参数类型问题
  • 用COM的问题
  • 几个COM的问题,头疼中
  • COM事件,多线程问题?

相关文章

  • 2017-06-05 请问用户自定义消息能在不同的桌面间互发吗?
  • 2017-06-04 STDMETHODIMPxxx::TestHandlerLONGa,LONGb,LONGcjavscript中怎么调用
  • 2017-06-05 一连穿的WINDOWS和非WINDOWS方面的问题。
  • 2017-06-04 VB6调用DCOM的问题
  • 2017-06-05 ActiveX下自定义Edit控件改变字体问题
  • 2017-06-05 不实现IViewObject2的无窗口对象如何显示出来
  • 2017-06-04 请问如何将一个控件打包到程序里面??
  • 2017-06-04 COM中结构体数组传递问题
  • 2017-06-05 求教,怎么知道某个进程未响应了?
  • 2017-06-04 如何在COM组件中添加设置回调函数的接口?

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 求教一个关于com组件处理数组的问题
    • 两个计时器同时运行时,出现等待的情况,如何解决?
    • VS2008开发OCX控件的问题
    • 请各位帮忙改错!!!!!!!!
    • 这个线程是工作者还是UI线程?
    • 小弟最近找了个用VC编写activex控件嵌入IE中的工作,急需学习activex编程,请大家推荐几本学习的书籍吧
    • 各位大虾,我在利用atl开发控件时,为什么不能加载组件?
    • MSVCRTlib:fatalerrorLNK1103:请大家帮忙解决。很急!!!!!
    • 建立了IE工具栏,如何建立按钮提示,即tooltip
    • 当HOOK住某个游戏的DirectDrawCreateEx调用后,接下来如何往他的屏幕上写东西

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有