private static Task StartReceivingAsync(object state)
        {
            ReliableOutputSessionChannelOverDuplex channel =
                (ReliableOutputSessionChannelOverDuplex)state;

            return(channel.StartReceivingAsync());
        }
        private static void StartReceiving(object state)
        {
            ReliableOutputSessionChannelOverDuplex duplex = (ReliableOutputSessionChannelOverDuplex)state;

            try
            {
                duplex.StartReceiving();
            }
            catch (Exception exception)
            {
                if (Fx.IsFatal(exception))
                {
                    throw;
                }
                duplex.ReliableSession.OnUnknownException(exception);
            }
        }
        private static void OnReceiveCompletedStatic(IAsyncResult result)
        {
            ReliableOutputSessionChannelOverDuplex asyncState = (ReliableOutputSessionChannelOverDuplex)result.AsyncState;

            try
            {
                asyncState.OnReceiveCompleted(result);
            }
            catch (Exception exception)
            {
                if (Fx.IsFatal(exception))
                {
                    throw;
                }
                asyncState.ReliableSession.OnUnknownException(exception);
            }
        }
        static void OnReceiveCompletedStatic(IAsyncResult result)
        {
            ReliableOutputSessionChannelOverDuplex channel = (ReliableOutputSessionChannelOverDuplex)result.AsyncState;

            try
            {
                channel.OnReceiveCompleted(result);
            }
#pragma warning suppress 56500 // covered by FxCOP
            catch (Exception e)
            {
                if (Fx.IsFatal(e))
                {
                    throw;
                }

                channel.ReliableSession.OnUnknownException(e);
            }
        }
        static void StartReceiving(object state)
        {
            ReliableOutputSessionChannelOverDuplex channel =
                (ReliableOutputSessionChannelOverDuplex)state;

            try
            {
                channel.StartReceiving();
            }
#pragma warning suppress 56500 // covered by FxCOP
            catch (Exception e)
            {
                if (Fx.IsFatal(e))
                {
                    throw;
                }

                channel.ReliableSession.OnUnknownException(e);
            }
        }