/// <summary> /// The Get Operation Status operation returns the status of /// thespecified operation. After calling a long-running operation, /// you can call Get Operation Status to determine whether the /// operation has succeeded, failed, timed out, or is still in /// progress. (see /// http://msdn.microsoft.com/en-us/library/windowsazure/ee460783.aspx /// for more information) /// </summary> /// <param name='operations'> /// Reference to the /// Microsoft.WindowsAzure.Management.WebSites.IWebSiteManagementClient. /// </param> /// <param name='webSpaceName'> /// The name of the webspace for the website where the operation was /// targeted. /// </param> /// <param name='siteName'> /// The name of the site where the operation was targeted. /// </param> /// <param name='operationId'> /// The operation ID for the operation you wish to track. The operation /// ID is returned in the Id field in the body of the response for /// long-running operations. /// </param> /// <returns> /// The response body contains the status of the specified long-running /// operation, indicating whether it has succeeded, is inprogress, has /// time dout, or has failed. Note that this status is distinct from /// the HTTP status code returned for the Get Operation Status /// operation itself. If the long-running operation failed, the /// response body includes error information regarding the failure. /// </returns> public static WebSiteOperationStatusResponse GetOperationStatus(this IWebSiteManagementClient operations, string webSpaceName, string siteName, string operationId) { try { return(operations.GetOperationStatusAsync(webSpaceName, siteName, operationId).Result); } catch (AggregateException ex) { if (ex.InnerExceptions.Count > 1) { throw; } else { throw ex.InnerException; } } }
/// <summary> /// The Get Operation Status operation returns the status of the /// specified operation. After calling a long-running operation, you /// can call Get Operation Status to determine whether the operation /// has succeeded, failed, timed out, or is still in progress. (see /// http://msdn.microsoft.com/en-us/library/windowsazure/ee460783.aspx /// for more information) /// </summary> /// <param name='operations'> /// Reference to the /// Microsoft.WindowsAzure.Management.WebSites.IWebSiteManagementClient. /// </param> /// <param name='webSpaceName'> /// Required. The name of the webspace for the website where the /// operation was targeted. /// </param> /// <param name='siteName'> /// Required. The name of the site where the operation was targeted. /// </param> /// <param name='operationId'> /// Required. The operation ID for the operation you wish to track. The /// operation ID is returned in the ID field in the body of the /// response for long-running operations. /// </param> /// <returns> /// The response body contains the status of the specified long-running /// operation, indicating whether it has succeeded, is inprogress, has /// timed out, or has failed. Note that this status is distinct from /// the HTTP status code returned for the Get Operation Status /// operation itself. If the long-running operation failed, the /// response body includes error information regarding the failure. /// </returns> public static Task <WebSiteOperationStatusResponse> GetOperationStatusAsync(this IWebSiteManagementClient operations, string webSpaceName, string siteName, string operationId) { return(operations.GetOperationStatusAsync(webSpaceName, siteName, operationId, CancellationToken.None)); }