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

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/973206/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-03 12:50:11  来源:igfitidea点击:

What causes error HRESULT: 0x80010105 (RPC_E_SERVERFAULT)?

.netweb-servicescom-interop

提问by Michael Kniskern

I created a ASP.NET web service that uses a 3rd party payment processing engine to authorize credit card transactions.

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

The web service is hosted on a separate application server and connects to the payment processing server via an ActiveX object (.ocxextension). Lately, it has been generating a HRESULT: 0x80010105 (RPC_E_SERVERFAULT)exception when I try to establish an connection to the application using an "IsAvaiable" check.

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

Does anyone recommend an good place to start for researching this issue?

有没有人推荐一个开始研究这个问题的好地方?

(I know contacting the vendor would be the first option, but I want to have my "ducks in a row" before we contact technical support)

(我知道联系供应商是第一选择,但在我们联系技术支持之前,我希望“连续工作”)

回答by dylantblack

I've had the same error (RPC_E_SERVERFAULT) using ActiveX objects in web services. Whenever the ActiveX object crashed, IIS would throw this error, which would mask the reason that the object crashed (for us it was usually crashing while loading an invalid file that it needed to process and return values from).

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

Have you checked the system logs etc. to see if your ActiveX control has logged the actual error anywhere?

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

If you can't see anything obvious then I'd recommend contacting their technical support to figure out the best way to diagnose what the actual error is and if it's logging its errors anywhere.

如果你看不到任何明显的东西,那么我建议联系他们的技术支持,找出诊断实际错误的最佳方法,以及它是否在任何地方记录错误。

回答by sarvesh

Michael, your third party Activex control is probably not managing memory properly. My guess is it is overwriting a part of a memory when it shouldn't be. Check with your third party provider to see if they have a fix for it.

Michael,您的第三方 Activex 控件可能没有正确管理内存。我的猜测是它不应该覆盖内存的一部分。请与您的第三方提供商联系,看看他们是否有解决方案。

回答by Sqeaky

I know this is stack overflow and there should be a programming answer here, but you mention no updates or software changes to the failing machine. If there were no software changes it is most likely a hardware issue. RAM Fails, CPUs fail, hardware fails. If you can take the system offline and test the hardware you will probably find that a disk or a memory module is failing (NIC maybe too). It is likely the first step the vendor would have you do but if you do it yourself you can do it on your terms and might safe yourself the service charge for a few hours of their time.

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

回答by Denis

Also could mean the COM object crashed. Had this happen with a macro in Excel that crashed Excel. Try to rerun the application represented by the COM object (in my case, an Excel addin) by itself and see if it crashes or produces some error.

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

回答by 1800 INFORMATION

You could enable adplusto have it grab a memory dump each time you get the exception. This can be used to help debug the issue.

您可以启用adplus让它在每次遇到异常时获取内存转储。这可用于帮助调试问题。