private void stopHost(IApplicationHost appHost) { var hostedAppInfo = appHost.AppInfo; m_Logger.InfoFormat("Stopping application {0}", hostedAppInfo.Name); Stopwatch sw = Stopwatch.StartNew(); try { appHost.Stop(); lock (m_ApplicationHosts) { m_ApplicationHosts.Remove(appHost); } sw.Stop(); m_Logger.InfoFormat("Stopping application '{0}' complete in {1}ms", hostedAppInfo.Name, sw.ElapsedMilliseconds); } catch (Exception e) { sw.Stop(); m_Logger.ErrorFormat(e, "Application {0} failed to stop", hostedAppInfo.Name); } AppsStateChanged.OnNext(HostedApps); }
private void startHost(IApplicationHost appHost) { m_Logger.InfoFormat("Starting application '{0}'", appHost.AppInfo); var sw = Stopwatch.StartNew(); try { appHost.Start(MarshalableProxy.Generate(m_ConfigurationProvider), new AppServerContext { Name = Name }); sw.Stop(); m_Logger.InfoFormat("Starting application '{0}' complete in {1}ms", appHost.AppInfo, sw.ElapsedMilliseconds); } catch (Exception e) { sw.Stop(); lock (m_ApplicationHosts) { m_ApplicationHosts.Remove(appHost); } m_Logger.ErrorFormat(e, "Failed to start application '{0}'", appHost.AppInfo); } AppsStateChanged.OnNext(HostedApps); }