Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
Patch Available
Description
The csharp:async switch causes the compiler to change the implementation of the client side call stubs to always use IAsyncResult. This causes issues, because the IAsyncResult call style is not supported by all transports.
If such a transport is used, the code finally calls the TTransport implementations of BeginFlush and EndFlush - either one of these simply throws an exception, causing the outgoing call to fail.
What is highly unexpected here is the fact, that due to the send_Xxx method implementation change also ISync interface is affected as soon as csharp:async is used.