J'ai un serveur COM. Si j'invoque sa méthode dans le style dynamique comme celui-ci, en cas d'un problème de l'autre côté je reçois plein exceptionCOMException dans InteropAssembly COM
try
{
Type factoryType = Type.GetTypeFromProgID("VPI.TcHost.TcAppFactory");
dynamic factory = Activator.CreateInstance(factoryType);
dynamic appl = factory.CreateTcApp("Nga", "8.7");
}
catch (COMException ex)
{
//Here i get nice exception with _FULL_ description message
}
Lorsque je crée InteropAssembly et appeler sa méthode comme celui-ci, en cas d'un problème sur l'autre côté je reçois je obtiens court emballage d'exception
try
{
CTcAppFactory appFactory = new CTcAppFactory();
CNgaApp mApp = appFactory.CreateTcApp("Nga", "8.7");
}
catch (COMException ex)
{
//Here i get short exception with hex code without Error string that was sent
//from COM server
}
Cela ressemble à une exception courte. (Il ne contient aucune description du problème que mon serveur COM envoie)
Comment puis-je obtenir une exception complète dans une variante de code fortement typée?
Merci beaucoup! Très bonne réponse. Je pense que l'implémentation de IErrorInfo au niveau du serveur COM sera une bonne solution. – Grigory