首 页 网络编程
网页制作 图形图象 操作系统 冲浪宝典
软件教学 认证考试

网络安全 网络办公 行业资讯 评测对比
您当前位置:站长天空 -> 认证考试-> Adobe认证
关于com+的一些细节问题_delphi教程
作者:网友供稿 点击:0
推荐
西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!可在线rar解压,自动数据恢复设置虚拟目录等.免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金
站内搜索
文章页数:[1] 
 

client端只需要midas.dll就够了!
     Com+在使用时需要进行用户的验证,当你在局域网里的时候,由于的所有的

机子都是在一个域里,他默认的所有的域成员都有权利访问,你如果要在广域网

上使用,你必须在服务器上建立客户端的用户,然后,把该用户添加到你的com+

的角色当中,就可以访问了!
    
     如果你现在还是在使用DCOMCONNECTION空间进行连接的话,我建议你不要用

,因为直接在广域网中访问com+的话需要很多的端口,而这些端口可能会被占用

,而且防火墙会阻挡这些端口,导致你的Com+无法访问;所以我建议你使用Socke

tConnection控件来连接,这样的话就只需要一个你指定的端口了,这样的话通过

防火墙就比较方便了

 

/*1. 是不是com+的client也必须是域中的一个用户?*/
     com+的服务器与客户端不必安装在一个域中,如何配置取决于你使用的连接

方式。
     例如当你使用HTTP方式连接时,你的应用即可以部署到Internet环境中。
     /*2. client在分了的时候除了附加midas.dll,是不是还需要别的文件?*/
     midas.dll这个文件在Delphi6以后的版本中已不再需要了。你可以在工程文

件中导入MidasLib单元。
     如果你将应用设及到的单元连接到程序中,那么在部署时不用附加任何文件

 

首先,COM+有两个MTS组件,一个是MTS Object, 另一个是MTS DATA MODULE;

MTS Object建立时同时用DcomConnection建立MTS DATA MODULE,MTS Object有1

个GetDatas取数据方法和UPDATAS存储数据方法,当方法完成时就执行SetComplet

e或SetAbort。
     Updates的方法如下:
     procedure tmtsbook.updatas(vDatas : olevariant; iMaxError

:Integer; Var iErrorCount : Integer);
     Var SerObj : IAppServer;
     OwnData : OleVariant
     begin
     try
     serobj := FMydm.dcombooks.GetServer;
     serobj.As_applyupdates(vDatas, iMaxError, iErrorCount, Owndata);
     setcomplete;
     except
     setabort;
     end;
     end;
     结果,调用这个updatas更新数据,总把修改的数据更新到最后一条记录。


来宾发言:我经常通过在AppServer端定义事务处理的相关方法来解决(210字节)

来宾姓名:henrycheng
来宾发言:
    就是在Server端定义如下的可以远程调用的方法,然后在客户端根据需要直

接调用它们。
     procedure TRemoteServer.Start; safecall;
     procedure TRemoteServer.Commit; safecall;
     procedure TRemoteServer.RollBack; safecall;
 这种方法的确可以实现事务处理的要求,但有一个致命的问题是:一旦有客户端

开始一个事物后与网络失去联系(如死机等)将导致其他客户端陷入无限的等待

状态,因为此时数据表被锁定,只有提交或回滚这个事物后才会解锁! 影响其它

用户。

但前提是中间层必须能够解析客户端提交的数据的逻辑结构。这时,最好的方法

是建立相应的信息模型或数据模型,客户端根据信息模型处理输入、输出,中间

层处理应用逻辑,包括存储逻辑。我们现在就是这么做的。如果你希望进行进一

步的探讨,可以跟我联系。

clientdataset可将数据集,包括所有你输入的临时数据库打包成XML传给中间层,
     中间层实现在事务中进行MVC中的M层是否更新过的判断
     具体实现大家自已琢磨吧!
来宾发言:我这样做的……(46字节) 来宾姓名:duke
来宾发言:
    中间层定义连接控件的事物处理。
     在客户端调用。
来宾发言:
    刚做三层结构,听大家意见,把一个C/S结构改为三层,事物处理我这样用不

知可行否?
     服务端定义接口:
     procedure TBarDCOMServer.isTrans(const iStates: WideString);
     begin
     if iStates=BeginTrans then
     ServerMainF.ADOConnection1.BeginTrans
     else if iStates=CommitTrans then
     ServerMainF.ADOConnection1.CommitTrans
     else if iStates=RollbackTrans then
     ServerMainF.ADOConnection1.RollbackTrans;
     end;
    
     客户端调用:
     dm1.DCOMConnection1.AppServer.isTrans(BeginTrans);
     try
     errorCounts:=0;
     errorCounts:=errorCounts+dm1.kcspIndexCD.ApplyUpdates(0);
     errorCounts:=errorCounts+dm1.yyCD.ApplyUpdates(0);
     if errorCounts=0 then //提交是否有错误
     dm1.DCOMConnection1.AppServer.isTrans(CommitTrans)
     else
     begin
     dm1.DCOMConnection1.AppServer.isTrans(RollbackTrans);
     ShowMessage(Error);
     exit;
     end;
     except
     dm1.DCOMConnection1.AppServer.isTrans(RollbackTrans);
     ShowMessage(网络忙,请重试。);
     end;
    
     由于提交时,如果有错误并不触发异常,因此try……except……end似乎不

起作用,所以定义一个变量errorCounts来记录提交返回的错误数,由此决定是否

提交事物。
    
     此方法没有经过实践,明天把程序发给客户使用后,再做判断是否可行。
     不过,我想应该有更好的方法,请有多层经验的朋友指教一下。

***可以,不过在COM接口中应该用olevariant

三层结构,在别的机器上运行客户端,提示“拒绝联接”如何注册.TLB文件?(68

字节)
此错误不是客户端的问题,而是服务端的COM的权限不正确
     2。将服务端的*.tlb文件加入到客户端的项目中即可

webconnection

多出来的一步是吧httpsrvr.dll发布到IIS具有执行权限的virtual dir中

设置好httpsrvr.dll在服务器的http URL以及Server的GUID就行了
其他大同小异。具体看Delphi的Help,什么都有


文章整理:站长天空 网址:http://www.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

文章页数:[1] 


放大字体显示 缩小字体显示 打印文章 推荐给朋友
热门文章
·Java开发工具配置 UltraEdit-JSP教程,Java技巧及代码
·遍历设备管理器的设备-.NET教程,评论及其它
·用正则表达式剔除文本中的HTML标记-ASP教程,正则表达式
·一个通用的DataGridTableStyle的做法-.NET教程,数据库应用
·java连接Oracle数据库-JSP教程,Java技巧及代码
·将XML存入关系数据库-JSP教程,数据库相关
·如何在Web页面上直接打开、编辑、创建Office文档-ASP教程,ASP应用
·asp之日期和时间函数示例-ASP教程,ASP应用
·ASP.Net Web Page深入探讨-ASP教程,ASP应用
·浅析Microsoft .net PetShop程序中的购物车和订单处理模块(Profile技术,异步MSMQ消息)-.NET教程,.NET Framework
最新文章
·fireworks 8绘制精致指南针图案_fireworks教程
·卸载多重引导系统中的windows vista操作系统_windows vista
·如何做到google adsense好收入的几点_网赚技巧
·百度主题推广和google adsense的综合比较_网赚技巧
·[新闻会客厅]孙雁:八零后的女闪客_站长访谈
·“流量交换型站点”访客黏度问题凸显_站长心得
·大唐社区站长经验谈社区运营_站长心得
·blog站点如何用rss搜索来推广_站长心得
·自我防护web站点和恶意链接的方法_站长心得
·网站投资你和我的20个自身检查(2)_站长心得
相关主题
西部数码虚拟主机

友情链接
CNNIC 西部数码
万网 自助建站
虚拟主机 asp空间
域名注册 域名
域名申请 主页空间
论坛空间 网站空间
国际域名 虚拟空间
空间租用 DDOS防火墙
成都主机托管 四川主机托管
主机租用 服务器租用
网站目录 自助建站
虚拟主机 网址大全
软件下载
自助链接
虚拟主机资讯 特价虚拟主机
版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
关于我们:站长天空:专业提供最新的站长资讯、在线教程、虚拟主机权威评测、虚拟主机性能对比、网站制作教程,开发教程,站长工具。包括网页制作教程、冲浪宝典、编程参考、操作系统、软件教学、行业动态等。
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
发表评论 打印  刷新     关闭