protected T CallClient <T>(Func <T> func, object targetObject) where T : AzureOperationResponse { T response = default(T); try { response = func(); } catch (Exception e) { // Handle if this or the inner exception is of type CloudException CloudException ce = e as CloudException; ErrorRecord er = null; if (ce == null) { ce = e.InnerException as CloudException; } if (ce != null) { HandleCloudException(targetObject, ce); } else { er = RemoteAppCollectionErrorState.CreateErrorRecordFromException(e, String.Empty, targetObject, ErrorCategory.NotSpecified); ThrowTerminatingError(er); } } return(response); }
protected void RegisterSubscriptionWithRdfeForRemoteApp() { System.Threading.CancellationToken cancelationToken = new System.Threading.CancellationToken(); // register the subscription with RDFE to use the RemoteApp resource try { AzureOperationResponse azureOperationResponse = MgmtClient.Subscriptions.RegisterResourceAsync(Client.RdfeNamespace, cancelationToken).Result; } catch (Exception e) { // Handle if this or the inner exception is of type CloudException CloudException ce = e as CloudException; if (ce == null) { ce = e.InnerException as CloudException; } if (ce != null) { // ignore the 'ConflictError' which is returned if the subscription is already registered for the resource if (ce.Error.Code != "ConflictError") { HandleCloudException(MgmtClient.Subscriptions, ce); } } else { ErrorRecord er = RemoteAppCollectionErrorState.CreateErrorRecordFromException(e, String.Empty, MgmtClient.Subscriptions, ErrorCategory.NotSpecified); ThrowTerminatingError(er); } } }
internal static CloudRecordState CreateErrorStateFromCloudException(CloudException e, string errorId, object targetObject) { ErrorRecordState state = CreateErrorStateFromHttpStatusCode(e.Response.StatusCode); ErrorRecord er = RemoteAppCollectionErrorState.CreateErrorRecordFromException(e, errorId, targetObject, state.Category); CloudRecordState cloudRecord = new CloudRecordState() { state = state, er = er }; return(cloudRecord); }
private void WriteUsageDetails(CollectionUsageDetailsResult detailsUsage) { // // Display the content pointed to by the returned URI // WebResponse response = null; WebRequest request = WebRequest.Create(detailsUsage.UsageDetails.SasUri); try { response = (HttpWebResponse)request.GetResponse(); if (response == null) { ErrorRecord error = RemoteAppCollectionErrorState.CreateErrorRecordFromString( "Unable to retrieve Usage data", String.Empty, null, ErrorCategory.InvalidResult); WriteError(error); return; } } catch (Exception e) { ErrorRecord error = RemoteAppCollectionErrorState.CreateErrorRecordFromException(e, String.Empty, Client.Collections, ErrorCategory.InvalidResult); WriteError(error); return; } using (Stream dataStream = response.GetResponseStream()) { using (StreamReader reader = new StreamReader(dataStream)) { String csvContent = reader.ReadToEnd(); WriteObject(csvContent); } } }