diff --git a/CHANGELOG-3.7.md b/CHANGELOG-3.7.md index 06a08377dca..b5592563ab2 100644 --- a/CHANGELOG-3.7.md +++ b/CHANGELOG-3.7.md @@ -95,6 +95,9 @@ These are the changes since Ice 3.7.4. ## C# Changes +- Fixed dispatch warnings and unknown exceptions to report the original exception raised by + the servant implementation. + - Add .NET 5.0 support, Ice for C# assemblies are now build for .NET 5.0, .NET Standard 2.1 and .NET 4.5. - Fixed a bug that can result in the file logger log files not correctly close. diff --git a/csharp/src/Ice/Incoming.cs b/csharp/src/Ice/Incoming.cs index c467f67c349..c0a4a49f030 100644 --- a/csharp/src/Ice/Incoming.cs +++ b/csharp/src/Ice/Incoming.cs @@ -20,6 +20,7 @@ namespace IceInternal using System.IO; using System.Globalization; using System.Threading.Tasks; + using System.Runtime.ExceptionServices; public class Incoming : Ice.Request { @@ -635,6 +636,7 @@ private void handleException(Exception exc, bool amd) try { + ExceptionDispatchInfo.Capture(exc).Throw(); throw exc; } catch(Ice.RequestFailedException ex)