Example #1
0
        public static async Task UnprovisionApplicationTypeAsync(this FabricClient cluster, string appTypeName, string appTypeVersion)
        {
            try
            {
                await cluster.ApplicationManager.UnprovisionApplicationAsync(appTypeName, appTypeVersion);
            }
            catch (FabricException ex)
            {
                if (ex.ErrorCode == FabricErrorCode.ApplicationTypeInUse)
                {
                    await cluster.DeleteApplicationTypeInstancesAsync(appTypeName);

                    await cluster.ApplicationManager.UnprovisionApplicationAsync(appTypeName, appTypeVersion);
                }
            }
        }
Example #2
0
 protected static void ShutdownLocalFabricCluster()
 {
     logger.Debug("Shutting down the local service fabric cluster environment");
     using (var cluster = new FabricClient())
     {
         try
         {
             cluster.DeleteApplicationTypeInstancesAsync(appTypeName).GetAwaiter().GetResult();
             cluster.ApplicationManager.UnprovisionApplicationAsync(appTypeName, appTypeVersion).GetAwaiter().GetResult();
             cluster.ApplicationManager.RemoveApplicationPackage(imageStoreConnectionString, appTypeName);
         }
         catch (Exception ex)
         {
             logger.Error(ex, "Failed to undeploy and shutdown local service fabric cluster environment");
         }
     }
 }