From e41ebb0a13a106ba04c61c269d1886266ecc94ea Mon Sep 17 00:00:00 2001 From: ivan-danilov Date: Sun, 27 Sep 2015 17:31:37 +0300 Subject: [PATCH] Fixed a bug where all server-side thrown exceptions were translated to client as TargetInvocationException --- .../Schema/UiaMethodInfoHelper.cs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/ManagedUiaCustomizationCore/Schema/UiaMethodInfoHelper.cs b/ManagedUiaCustomizationCore/Schema/UiaMethodInfoHelper.cs index 062f445..31eee04 100644 --- a/ManagedUiaCustomizationCore/Schema/UiaMethodInfoHelper.cs +++ b/ManagedUiaCustomizationCore/Schema/UiaMethodInfoHelper.cs @@ -161,7 +161,17 @@ public void DispatchCallToProvider(object provider, UiaParameterListHelper param } // call provider - object result = ProviderMethodInfo.Invoke(provider, providerCallParameters); + object result = null; + try + { + result = ProviderMethodInfo.Invoke(provider, providerCallParameters); + } + catch (TargetInvocationException e) + { + if (e.InnerException != null) + throw e.InnerException; + throw; + } // write back out params for (int i = 0; i < PatternMethodParamDescriptions.Count; i++)