public ActionResult NippsStop(Models.Nipps nipps) { string deploymentServiceUrl = NippsSiteHelper.BuildDeploymentServiceUrl(nipps.HostName) + "StopApplicationPool"; NippsApplicationRequest nippsApplicationRequest = new NippsApplicationRequest { NippsApplications = new List<NippsApplication> { new NippsApplication { ApplicationPoolName = nipps.ApplicationPoolName } } }; NippsApplicationResponse response = RestHelper.RestPostObject<NippsApplicationResponse, NippsApplicationRequest>(deploymentServiceUrl, nippsApplicationRequest); if (response.Result == Result.FAIL) foreach (string em in response.ResultMessages) Logger.Error(em); return RedirectToAction("NippsServiceList"); }
public NippsApplicationResponse StopApplicationPool(NippsApplicationRequest nippsApplicationRequest) { bool isSucceededOne = false; Logger logger = NLog.LogManager.GetCurrentClassLogger(); NippsApplicationResponse response = new NippsApplicationResponse(); response.ResultMessages = new List<string>(); try { using (ServerManager serverManager = ServerManager.OpenRemote("localhost")) { response.Result = Result.OK; foreach (NippsApplication nippsApplication in nippsApplicationRequest.NippsApplications) { try { ApplicationPool appPool = serverManager.ApplicationPools[nippsApplication.ApplicationPoolName]; if (appPool.State == ObjectState.Started) appPool.Stop(); isSucceededOne = true; } catch (Exception ex) { if (isSucceededOne) response.Result = Result.SUCCESSWITHWARN; logger.Error("{0} -> {1}", nippsApplication, ex.ToString()); response.ResultMessages.Add(string.Format("{0} -> {1}", nippsApplication, ex.ToString())); } } serverManager.CommitChanges(); } } catch (Exception ex) { logger.Error(ex.ToString()); response.Result = Result.FAIL; response.ResultMessages.Add(ex.ToString()); } return response; }