asp.net – RPC_E_SERVERFAULT

在我的asp.net应用程序中,我使用Interop dll调用一个com组件方法.这在正常情况下工作正常,但在生产中有时它会抛到异常之下

System.Runtime.InteropServices.COMException(0x80010105):服务器引发异常. (来自HRESULT的异常:0x80010105(RPC_E_SERVERFAULT))

我怀疑当大量用户同时访问同一页面时会发生这种情况.

是否有人知道调试此问题的解决方案或步骤.

我有另一个问题.在互联网上搜索时,我遇到了这个aspcompact属性和与com组件相关的MTA vs STA线程模型.这个aspcompact属性是否适用于interop dll(运行时可调用包装器).添加此属性会解决我的问题吗?

最佳答案 RPC_E_SERVERFAULT意味着进程外COM服务器抛出结构化(Win32)异常,这可能是各种各样的事情,例如访问冲突,除以零等.换句话说,COM服务器中存在一个错误实现,你的调用应用程序无法解决这个问题(除非你能找出bug是什么,并且可以设计一种方法来调用不执行错误代码的COM组件).

您需要找到您的同事负责COM服务器,让他/她使用调试器在发生异常时捕获故障转储,然后对转储进行事后调试以诊断问题并修复它.

点赞