什么导致错误HRESULT:0x80010105(RPC_E_SERVERFAULT)?

时间:2009-06-10 00:45:27

标签: .net web-services com-interop

我创建了一个ASP.NET Web服务,它使用第三方支付处理引擎来授权信用卡交易。

Web服务托管在单独的应用程序服务器上,并通过ActiveX对象(.ocx扩展名)连接到付款处理服务器。最近,当我尝试使用“HRESULT: 0x80010105 (RPC_E_SERVERFAULT)”检查建立与应用程序的连接时,它一直在生成IsAvaiable异常。

是否有人建议开始研究此问题的好地方?

(我知道联系供应商将是第一个选择,但我希望在联系技术支持之前让我的“鸭子连续”)

5 个答案:

答案 0 :(得分:2)

我在Web服务中使用ActiveX对象时遇到了同样的错误(RPC_E_SERVERFAULT)。每当ActiveX对象崩溃时,IIS都会抛出此错误,这会掩盖对象崩溃的原因(对于我们来说,它通常在加载需要处理并返回值的无效文件时崩溃)。

您是否检查过系统日志等,以查看您的ActiveX控件是否在任何地方都记录了实际错误?

如果您看不到任何明显的信息,我建议您联系他们的技术支持人员,找出诊断实际错误的最佳方法,以及是否在任何地方记录错误。

答案 1 :(得分:2)

迈克尔,你的第三方Activex控件可能无法正确管理内存。我的猜测是它不应该覆盖一部分内存。请咨询您的第三方提供商,看看他们是否有解决方法。

答案 2 :(得分:1)

我知道这是堆栈溢出,这里应该有一个编程答案,但你没有提到故障机器的更新或软件更改。如果没有软件更改,则很可能是硬件问题。 RAM失败,CPU出现故障,硬件出现故障。如果您可以使系统脱机并测试硬件,您可能会发现磁盘或内存模块出现故障(也可能是NIC)。这可能是供应商要做的第一步,但如果您自己这样做,您可以按照自己的条件进行操作,并且可以在几个小时的时间内为您自己节省服务费。

答案 3 :(得分:0)

每次出现异常时,都可以启用adplus来获取内存转储。这可以用来帮助调试问题。

答案 4 :(得分:0)

也可能意味着COM对象崩溃了。如果这发生在Excel中的宏崩溃Excel。尝试单独重新运行COM对象(在我的例子中是一个Excel插件)表示的应用程序,看它是否崩溃或产生一些错误。