public void Run() { if (!ReadFromConfigFile() || !ValidateSubscriptionId() || !ValidateCertificate() || !this.Validate()) { Console.WriteLine("There was an error processing this command!"); return; } var serviceManagement = ServiceManagementHelper.CreateServiceManagementChannel("WindowsAzureEndPoint", CSManageCommand.Certificate); Console.WriteLine("Using certificate: " + CSManageCommand.Certificate.SubjectName.Name); try { string trackingId = null; HttpStatusCode?statusCode = null; string statusDescription = null; using (OperationContextScope scope = new OperationContextScope((IContextChannel)serviceManagement)) { try { this.PerformOperation(serviceManagement); if (WebOperationContext.Current.IncomingResponse != null) { trackingId = WebOperationContext.Current.IncomingResponse.Headers[Constants.OperationTrackingIdHeader]; statusCode = WebOperationContext.Current.IncomingResponse.StatusCode; statusDescription = WebOperationContext.Current.IncomingResponse.StatusDescription; Console.WriteLine("Operation ID: {0}", trackingId); } } catch (CommunicationException ce) { ServiceManagementError error = null; HttpStatusCode httpStatusCode = 0; string operationId; ServiceManagementHelper.TryGetExceptionDetails(ce, out error, out httpStatusCode, out operationId); if (error == null) { Console.WriteLine(ce.Message); } else { Console.WriteLine("HTTP Status Code: {0}", httpStatusCode); Console.WriteLine("Error Message: {0}", error.Message); Console.WriteLine("Operation Id: {0}", operationId); } } finally { if (statusCode != null) { Console.WriteLine("HTTP Status Code: {0}", statusCode); Console.WriteLine("StatusDescription: {0}", statusDescription); } } } if (trackingId != null && statusCode != null && statusCode == HttpStatusCode.Accepted) { Console.WriteLine("Waiting for async operation to complete:"); WaitForAsyncOperation(serviceManagement, trackingId); } } catch (TimeoutException) { Console.WriteLine("There was an error processing this command."); } }