async public Task <JsonResult> CaptureQCVM(int id, string ImageName) { VMManager vmm = new VMManager(ConfigurationManager.AppSettings["SubcriptionID"], ConfigurationManager.AppSettings["CertificateThumbprint"]); ApplicationDbContext db = new ApplicationDbContext(); var cloudService = db.QuickCreates.Where(l => l.ID == id).FirstOrDefault(); await vmm.ShutDownVM(cloudService.ServiceName, cloudService.Name); VirtualMachineCaptureVMImageParameters param = new VirtualMachineCaptureVMImageParameters(); param.VMImageLabel = "NewVmImage"; param.VMImageName = "NewVmImage"; param.OSState = "Specialized"; System.Threading.CancellationToken token = new System.Threading.CancellationToken(false); await vmm.CaptureVM(cloudService.ServiceName, cloudService.Name, param.VMImageName); await vmm.RebootVM(cloudService.ServiceName, cloudService.Name); return(Json(new { Status = 0 })); }