/*十有三博客*/
  • 首页
  • 关于本站
  • 网站地图
  • RSS订阅

ChinaPay踩坑笔记二:发布后依然无法支付订单提示错误代码80040154没有注册类

2016-07-06 十有三 0 浏览:9517 .NET技术 ASP.NET

本文接着上一篇的踩坑笔记一,在重新开发ChinaPay的支付过程中,又遇到新的问题,将支付模块发布到IIS服务器上,发现竟然无法使用,在提交支付订单的时候会提示:检索 COM 类工厂中 CLSID 为 {522E44BF-7BC9-4135-B5EB-8CC154144B0D} 的组件失败,原因是出现以下错误: 80040154 没有注册类 (异常来自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG))。

异常来自 HRESULT:0x80040154

在排查的过程中发现,开发环境中是没有任何问题的,生成也没有任何警告和错误,但是一旦发布就无法使用,所以问题应该与发布环境有关。

结合上次ChinaPay的踩坑经验,怀疑依然与银联在线提供的dll兼容性有关,后通过设置问题项目的应用程序池解决了问题,步骤如下:找到支付项目的应用程序池,打开高级设置,将启用32位应用程序设置为True。

启用32位引用程序


2017年01月13号更新

最近服务器再次进行迁移,又出现了这个问题,在解决了兼容性后问题依然存在,想起忘记注册某个关键DLL。调用银联电子支付的功能必须要先使用regsvr32命令注册Chinapay.dll(我使用ASP.NET只要注册这一个),如果使用的是ASP或者PHP语言的,还要注册CPNPC.DLL。注册成功后支付功能就可以正常使用了。注意netpay.dll、ChinaPay.dll和CPNPC.DLL这3个DLL文件要放在一个目录下。

regsver32注册ChinaPay.dll

官方文档关键说明:

  1. netpay.dll 是普通WIN32原生DLL ,netpay.dll为最底层的应用
  2. ChinaPay.dll以COM的方式调用的netpay.dll
  3. CPNPC.dll调用ChinaPay.dll,但是只有asp的情况下才会用到CPNPC.dll
  4. 如果是csharp的话,只要netpay.dll和ChinaPay.dll两个就可以
  5. ChinaPay.dll 和 CPNPC.DLL 是COM 组件,其中ChinaPay.dll 支持客户端调用, CPNPC.DLL 支持SERVER端脚本调用,如ASP,PHP。
  6. CPNPC.DLL 依赖另外两个DLL。
  7. 使用时请把3个DLL文件放在一个目录下,然后用 regsvr32 命令注册 Chinapay.dll 和 CPNPC.DLL。

作者:十有三

出处:https://shiyousan.com/post/636033939576137476

版权声明:本文采用知识共享许可协议:署名-相同方式共享 4.0 国际(CC BY-SA 4.0)。欢迎转载本文,转载请声明出处或保留此段声明。


  • 上一篇: ChinaPay踩坑笔记一:在64位系统中不支持ASP支付功能
  • 下一篇: 解决VS2015调试无法添加断点并提示断点无效未能绑定的问题

相关文章
  • C#解决IIS域名批量绑定
  • ASP.NET MVC 统一化自定义异常处理方案的选择
  • 奇怪的问题:ASP.NET MVC submit提交表单传入的模型实体对象为null和空值
  • 解决IIS ASP.NET 网站发布后出现错误 Unable to connect to any of the specified MySQL hosts
  • 解决网站出现GET .woff 404 (Not Found)的问题
  • ChinaPay踩坑笔记二:发布后依然无法支付订单提示错误代码80040154没有注册类

文章分类

.NET技术 123 数据库 24 Web前端 21 网站建设运维 37 操作系统与应用 66 程序猿日常 11 开发工具 12 其他随笔 13

文章标签

ASP.NET ASP.NET MVC C# CSS HTML IIS Javascript Linux MongoDB MySql SQL SQL Server Visual Studio Windows系统 版本控制系统 插件工具 服务器 搞笑娱乐 好文分享 软件应用 生活知识 手机问题 随笔 网络知识 网站设计优化 网站维护 养生保健 异常处理 硬件设备 游戏攻略

热门文章

  • IIS8如何安装和使用URL重写工具-URL Rewrite
  • 林蛋大与楚中天,朱肚皮与朱月坡
  • 解决IE11安装升级失败和在安装前需要更新的问题
  • Windows Server 2012无法安装 .NET3.5-安装角色或功能失败,找不到源文件
  • VS重构重命名的快捷键

推荐文章

  • 什么是CSS Sprites技术?
  • 解决SQL Service创建链接服务器出现(null) 是无效的产品名称的问题
  • 实现百度分享自定义或动态设置URL
  • ASP.NET MVC 5 学习笔记:使用HandleErrorAttribute处理异常
  • c# 字符串string类型转换成DateTime类型

友情链接

  • Passingwind的博客
  • 码友网

知识共享许可协议 CC BY-SA 4.0本站作品采用知识共享许可协议:署名-相同方式共享 4.0 国际(CC BY-SA 4.0)。
闽ICP备15003702号
闽公网安备 35020302035102号