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

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

2016-07-06 十有三 0 浏览:9453 .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调试无法添加断点并提示断点无效未能绑定的问题

相关文章
  • ASP.NET CheckBoxList控件动态修改ListItem选项的字体颜色和背景颜色
  • ASP.NET MVC移除URL后面自动加上的AspxAutoDetectCookieSupport=1
  • ASP.NET中.aspx页面使用<script runat="server">标记无法输出"</script>"字符串
  • C# 由数字1、2、3、4、5、6六个数字共可组成多少个没有重复数字的四位数,输出这些数据并统计个数。
  • C#使用正则表达式替换字符串中的多个字符或符号
  • ASP.NET MVC 出现“System.Web.Mvc.CompareAttribute”已过时

文章分类

.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重构重命名的快捷键

推荐文章

  • JSON劫持漏洞(详细讲解利用JSON从而进行数据劫持的漏洞攻防策略)
  • ChinaPay踩坑笔记一:在64位系统中不支持ASP支付功能
  • 博客底部的CC协议图标裂开了-404错误
  • 收到Let's Encrypt邮件通知需将SSL证书升级到ACMEv2协议
  • 解决64位系统IIS网站发布出现未能加载文件或程序集“...”或它的某一个依赖项。试图加载格式不正确的程序。

友情链接

  • Passingwind的博客
  • 码友网

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