protected override IAsyncResult OnBeginClose(TimeSpan timeout, AsyncCallback callback, object state)
 {
     // TO DO should stop the receive loop asynchronously
     return(innerChannel.BeginClose(timeout, callback, state));
 }