public void Close(TimeSpan timeout)
 {
     MessageSessionPumpHost.CloseOrAbortAsyncResult closeOrAbortAsyncResult = new MessageSessionPumpHost.CloseOrAbortAsyncResult(this, false, timeout, null, null);
     closeOrAbortAsyncResult.RunSynchronously();
 }
 public void Abort()
 {
     MessageSessionPumpHost.CloseOrAbortAsyncResult closeOrAbortAsyncResult = new MessageSessionPumpHost.CloseOrAbortAsyncResult(this, true, TimeSpan.MaxValue, null, null);
     closeOrAbortAsyncResult.RunSynchronously();
 }