//If the request is still being executed, this gives a chance to abort it. void btnAbort_Click(object sender, RoutedEventArgs e) { if (client != null) { if (client.State == System.ServiceModel.CommunicationState.Opened) { client.Abort(); } } }