2010-12-16 4 views
3

Я работаю над программой C#, чтобы получить пользователей из компонента под названием Cyber-Ark, который хранит зашифрованные данные. Когда мой код работает на полпути, я получаю это исключение, и даже если я поймаю все исключения, которые я все еще получаю. Есть ли для этого какая-то работа?C# Runtime Exception

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) 
+0

Можете ли вы показать свой основной метод? Но до сих пор кажется, что вы должны получить обновление от поставщика компонентов, чтобы исправить эту проблему. – 2010-12-16 12:41:48

ответ

0

Что вы хотите от «Я все еще понял?»

Поймать исключение никогда не случится.

С другой стороны, Visual Studio может быть сконфигурирована так, чтобы останавливаться, когда какое-либо исключение заворачивается, даже если вы управляете кодом (улавливаете) его. Перейдите в меню debug/Exception, чтобы настроить этот уровень детализации.

+0

Я прочитал его, поскольку это исключение избегает блокировки `try {...} catch (Exception e) {...}`. – Rup 2010-12-16 12:42:40

5

Вы можете получить это исключение, если базовый COM-объект был освобожден (по вызову IUnknown.Release). Я видел, как это произошло во время выключения, когда среда выполнения собрала RCW (оболочка, вызывающая вызовы) и некоторый код очистки, затем пытается получить доступ к теперь недоступному объекту COM для вызова функции «очистки» на COM-объекте, прежде чем выпускать его ,

Если это правильно, вы можете попробовать Dispose объект ранее при выключении.

0

Существует несколько причин, которые могут вызывать исключение. (попробуйте правильно распоряжаться, как сказал @Martin Liversage).

Если он не работает и вы приобрели компонент, обратитесь в службу технической поддержки Cyber-Ark.

Смежные вопросы