我正在开发C#程序,以便从存储加密数据的名为Cyber-Ark的组件中获取用户.当我的代码运行一半时,我得到了这个异常,即使我抓住了所有的例外,我仍然得到它.有什么解决方法吗?
Unhandled Exception: System.Runtime.InteropServices.InvalidComObjectException: COM object that has been separated from its underlying RCW cannot be used.
at System.StubHelpers.StubHelpers.GetCOMIPFromRCW(Object objSrc, IntPtr pCPCMD, Boolean& pfNeedsRelease)
at PAObjectsLib.PrivateArkClass.Term()
at CyberArk.API.Objects.PrivateArk.Term()
at CyberArk.API.Objects.PrivateArk.DoDispose(Boolean disposing)
at CyberArk.API.Objects.CyberArkBase.Dispose()
at Program.Main(String[] args)
Run Code Online (Sandbox Code Playgroud)
如果已释放基础COM对象(通过调用IUnknown.Release
),则可以获得此异常.我已经看到在关机期间发生这种情况,运行时已经收集了RCW(运行时可调用包装器),然后一些清理代码尝试访问现在不可访问的COM对象,以便在释放它之前调用COM对象上的"清理"函数.
如果这是正确的,您可以Dispose
在关机时尽早尝试该对象.
归档时间: |
|
查看次数: |
1108 次 |
最近记录: |