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

ChinaPay踩坑笔记一:在64位系统中不支持ASP支付功能

2016-07-03 十有三 1 浏览:5939 .NET技术 ASP.NET

无比郁闷的一次维护经历,银联在线的ASP功能模块竟然不支持64系统!如果使用该功能模块的支付页面在64位系统上运行,页面会报出错误:Microsoft VBScript 运行时错误 错误 '800a01ad' ActiveX 部件不能创建对象!

Microsoft VBScript 运行时错误 错误 '800a01ad' ActiveX 部件不能创建对象

先说下这次头痛的经历,原本服务器是使用32位windows server 2003系统,银联在线的支付功能是很多年前用ASP+VB语言开发的,由于业务需要,系统升级到了64位的win2012,结果每当提交支付订单就会引发错误码为'800a01ad'的错误。引发错误的代码为:

set npc = Server.CreateObject("CPNPC.NPC")

因为如果要发送支付请求,就必须要生成签名,而签名又是通过创建netpayclient组件对象来获取的,由于组件不支持64位系统就会引发错误。

为了解决这个问题,我将ChinaPay的整个支付功能进行重写,最好先仔细查阅官方的开发文档,我是使用ASP.NET MVC将所有支付功能集合成一个支付模块项目。网上也有其他解决方法是使用Web Service重写了签名模块,只需在要获取签名的时候调用Web Service即可,也可以试试WEB API的方式。

PS:我在网上也有看到其它'800a01ad''错误的解决方法,就是设置IIS的应用程序池的32位应用程序为False或者True,可以尝试下。


作者:十有三

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

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


  • 上一篇: 解决VS2013编码遇到无法嵌入互操作类型“ChinaPay_NET.NetPayClientClass”请改用适用的接口的问题
  • 下一篇: ChinaPay踩坑笔记二:发布后依然无法支付订单提示错误代码80040154没有注册类

相关文章
  • 解决"此请求已被阻止,因为当用在 GET 请求中时,会将敏感信息透漏给第三方网站"的问题
  • ASP.NET MVC AJAX调用没有反应和返回结果
  • asp.net动态添加meta标签
  • c# 字符串string类型转换成DateTime类型
  • ASP.NET CheckBoxList控件动态修改ListItem选项的字体颜色和背景颜色
  • 记录Vs2013中文语言包安装卡住进度条不动的问题

文章分类

.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安装升级失败和在安装前需要更新的问题
  • VS重构重命名的快捷键
  • Windows Server 2012无法安装 .NET3.5-安装角色或功能失败,找不到源文件

推荐文章

  • C#中如何排除/过滤/清空/删除掉字符串数组中的空字符串
  • 解决.gitignore文件忽略规则无效git依然跟踪修改的问题
  • 一次头疼的IIS故障经历:IIS 8.5的URL重写模块无法正常运行
  • Windows 10 家庭版打开隐藏起来的控制面板
  • (恶搞)程序搞笑:程序员和科比搞笑对话

友情链接

  • Passingwind的博客
  • 码友网

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