RTX二次开发笔记2

本文详细介绍了在使用RTX SDK进行二次开发时遇到的COM组件调用错误,包括错误原因、解决方法以及相关配置步骤。通过开启DistributedTransactionCoordinator服务、配置MSDTC权限和确保RTX SDK与编译模式兼容,成功解决了在不同系统环境下运行代码时遇到的问题。同时,还提供了解决本地IIS测试无误但在虚拟机上出现问题的方法,涉及RTX组件权限配置及环境兼容性调整。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题一:关于DLL文件的引用
在安装文件夹内
APIObject.dll==>RTXSAPI.dll 服务器API接口
RTXCAPI.DLL ==> 客户端API接口
问题二:RTX二次开发运行代码  
RootObj = new RTXSAPIRootObj();    //创建根对象  
出现错误 
检索 COM 类工厂中 CLSID 为 {79210E58-99EB-45D0-8890-763EFEAA143F} 的组件时失败,原因是出现以下错误: 80040154。
 
方法一: 调用com+的时候,对COM 组件的调用返回了错误 HRESULT E_FAIL  

原因:调用rtx组件实现登陆的时候,需要对NTFS文件夹进行权限配置  

解决办法: 

1. 在控制面板--->管理工具--->服务 中,开启Distributed Transaction Coordinator 服务。  
2. 打开控制面板--->管理工具--->组件服务--->选择计算机--->我的电脑--->右击属性--->选择MSDTC--->选择安全配置勾选事务管理器通信中的允许出站、允许入站和不要求进行验证。  
如下图所示:  

重启IIS 
方法二:
本地IIS没问题,发布到虚拟机上又出问题。
当时一共测试了2个虚拟机,都是WinServer2008 X64 的,结果就是无法获取到sessionkey。抛出异常为“检索 COM 类工厂中 CLSID 为 {79210E58-99EB-45D0-8890-763EFEAA143F} 的组件时失败,原因是出现以下错误: 80040154”。这个问题烦了我好久,在网上也搜到了这个问题,不过给的解决方案无效,于是发了E-Mail给腾讯通技术,回复说是RTX SDK dll是32位的,默认VS采用ANY CPU编译,如果这种模式编译,在64位系统上会出现异常,可以改为X86编译。
当然最后我还是用的WinServer2003 X86的虚拟机解决问题的。

 
问题三:
解决方案是:

 AppConnConfig.xml 添加服务器地址(本机地址)

<APIClient>

   <IPLimit Enabled="1">

      <IP>127.0.0.1</IP>

      <IP>192.168.1.111</IP>

   </IPLimit>

</APIClient>

添加后请切记重启所有服务。

 

注意如果开发过程中遇到Question请检查一下三个Files:
AppConnConfig.xml、SDKProperty.xml、SDKServer.ini
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值