随笔分类 -  COM+与.NET

摘要:这些是我已经读过了的或者是正在读的.net图书,同时也是我在综合了网上及论坛中各方面意见之后,认为在目前的.net框架领域内最值得系统研习的6本核心书籍,而且其编号是根据由易到难、从入门到上手有序排列的,特把它们罗列出来,希望在过年前后能够集中完成其阅读(尤其是后三本书,工作量还是非常大的)。 1. Applied Microsoft .NET Framework Programming, Je... 阅读全文
posted @ 2005-12-09 10:41 neoragex2002 阅读(902) 评论(7) 推荐(0) 编辑
摘要:转载一篇关于COM组件中使用自定义数据的文章,全文见这里。 阅读全文
posted @ 2004-12-16 12:51 neoragex2002 阅读(740) 评论(0) 推荐(0) 编辑
摘要:推a °套间不等于线程,它只是一个逻辑概念,实现为一个结构体 °环境不等于线程,它只是一个逻辑概念,实现为一个结构体,可以理解为对象的配置 - °同一进程可以有多个STA,但是只能有一个MTA和一个NTA °同一套间,无论是何种套间,均可包含一个或多个环境 °同一环境可以包含一个或多个对象 °同一环境只能存在于一个套间当中 °同一COM对象只能... 阅读全文
posted @ 2004-12-12 16:04 neoragex2002 阅读(1022) 评论(1) 推荐(0) 编辑
摘要:1. 服务器端,控制面板->管理工具->组件服务,在组件管理器中找到刚才注册的COM+应用程序MyApp 2. 右键选取MyApp,选择导出...,使用向导导出一个应用程序代理,分别名为MyApp.MSI和MyApp.MSI.cab 3. 在客户端操作,将服务器上的应用程序代理安装文件copy过来,并安装,至此客户端的部署完毕 4. 初步验证一下,打开客户端组件管理器,可以找到一个名为... 阅读全文
posted @ 2004-12-09 10:32 neoragex2002 阅读(936) 评论(4) 推荐(0) 编辑
摘要:闲来无事,用C#控件(Class Library)作个了简单的双机互连COM+示例 1. 准备工作:两台主机,各自软件配置分别为 1. 服务器:Vs.net 2003 + .Net Framework1.1 SDK SP1 + WinXP pro SP2 1. 客户端:.Net Framework1.1 SP1 Distributed Package + WinXP pro SP2 2... 阅读全文
posted @ 2004-12-09 10:17 neoragex2002 阅读(895) 评论(1) 推荐(0) 编辑
摘要:对象池(Object Pooling)和即时激活(Just In Time Activation)是COM+提供的两种不同的实例管理机制。似乎有很多人对COM+中的对象池和JITA的设计思想不太了解,甚至有所误解,这里随便说几句。 池(Pooling)是一种很常见的设计思想,池即缓冲,对象池即COM+对象(必须是可以池化的)的缓冲区。一般认为,所谓池化缓冲用以优化访存效率,然后我觉得这句话表... 阅读全文
posted @ 2004-12-07 13:49 neoragex2002 阅读(803) 评论(3) 推荐(0) 编辑
摘要:ref: 不允许别名,不允许为空指针unique : 不允许别名,允许为空指针ptr: 允许别名,允许为空指针其中:1. “别名”意味着如果同时有两个指针指向同一内存区域,则这两个指针互为别名,其可以推广至多个指针的情况2. “空指针”则意味着是否空指针仍然需要marshaling,其主要是出于marshaling传输效率考虑 阅读全文
posted @ 2004-12-01 15:52 neoragex2002 阅读(1500) 评论(0) 推荐(0) 编辑
摘要:有三种方法,从烦到易:1. 直接include MIDL生成的 XXX_i.c 文件并导入类型库,注意只需include即可,不要将其添加到项目文件里面来,编译会出错 #include"atlexe_i.c"#import"atlexe.tlb"no_namespace,raw_interfaces_only 然后即可使用通常的CLSID_AtlExeServ... 阅读全文
posted @ 2004-12-01 12:39 neoragex2002 阅读(787) 评论(0) 推荐(0) 编辑
摘要:以API被调用先后次序书写,备查: STDAPICoCreateInstance(REFCLSIDrclsid,LPUNKNOWNpUnkOuter,DWORDdwClsContext,REFIIDriid,LPVOID*ppv);STDAPICoGetClassObject(REFCLSIDrclsid,DWORDdwC... 阅读全文
posted @ 2004-11-30 22:51 neoragex2002 阅读(650) 评论(0) 推荐(0) 编辑
摘要:出错显示总是:Access Violation at Memory 0x...........搞定之后,发现是idl定义的问题,关于idl中接口方法指针参数的定义,一定要记得用指针属性加以修饰,如ptr/ref/string等,不然,即使接口方法参数被定义成指针,也不会被midl正确的解析成为标准marshaling,导致访问出错,ft again.... 阅读全文
posted @ 2004-11-30 22:49 neoragex2002 阅读(517) 评论(0) 推荐(0) 编辑
摘要:ft...--! 一直Marshaling出错,花了半天功夫,原来跟一个C/S结构的应用调试没区别。用两个vs.net调试器,一个开启COM exe server工程,设置好断点,F5启动;一个开启COM client工程,设置好断点,F5启动调试。如是vs.net调试器即可在两者之间来回切换实现单步调试了。 阅读全文
posted @ 2004-11-30 22:48 neoragex2002 阅读(1209) 评论(0) 推荐(0) 编辑
摘要:AtlComExeServer.exe /Register AtlComExeServer.exe /Regserver (prefer)OR AtlComExeServer.exe /Unregister AtlComExeServer.exe /Unregserver (perfer) 阅读全文
posted @ 2004-11-30 22:46 neoragex2002 阅读(792) 评论(0) 推荐(0) 编辑
摘要:可单步运行: cscript //X test.vbs 遇到Stop(vbs)或者是Debug指令方中断至调试器: cscript //D test.vbs或者用wscript作为脚本解释器宿主,用msgbox而不是cscript里面的write输出结果 阅读全文
posted @ 2004-11-30 22:44 neoragex2002 阅读(1531) 评论(1) 推荐(0) 编辑

点击右上角即可分享
微信分享提示