protected virtual void Dispose(bool disposeManagedResources) { if (_isDisposed) { return; } if (disposeManagedResources) { TraceHelper.TraceVerbose(TraceSwitches.TfsDeployer, "{0}.Dispose({1})", GetType(), disposeManagedResources); try { if (_trigger != null) { _trigger.Stop(); _trigger = null; } } catch (Exception) { // swallow. Clean up no matter what. } } _isDisposed = true; }
public void Start() { if (_trigger != null) { throw new InvalidOperationException("Already started."); } var listenPrefix = Properties.Settings.Default.BaseAddress; if (!listenPrefix.EndsWith("/")) { listenPrefix += "/"; } var serverProvider = new AppConfigTfsConnectionProvider(); var server = serverProvider.GetConnection(); var eventService = server.GetService <IEventService>(); var buildServer = server.GetService <IBuildServer>(); var versionControlServer = server.GetService <VersionControlServer>(); var configurationReader = new ConfigurationReader(new VersionControlDeploymentFileSource(versionControlServer), Properties.Settings.Default.KeyFile); var deploymentFolderSource = new VersionControlDeploymentFolderSource(versionControlServer); var baseAddress = new Uri(listenPrefix + "event/"); var listener = new TfsListener(eventService, baseAddress); var duplicateEventDetector = new DuplicateEventDetector(); _trigger = new TfsBuildStatusTrigger(listener, new DeployerFactory(buildServer, configurationReader, deploymentFolderSource), duplicateEventDetector); _trigger.Start(); }
private static void RunAsConsole() { try { Trace.Listeners.Add(new TextWriterTraceListener(Console.Out)); var trigger = new TfsBuildStatusTrigger(); trigger.Start(); Console.WriteLine("Hit Enter to stop the service"); Console.ReadKey(); trigger.Stop(); } catch (Exception ex) { Console.WriteLine(ex); } }
public TfsDeployerApplication(TfsBuildStatusTrigger trigger, DeployerServiceHost serviceHost) { _trigger = trigger; _serviceHost = serviceHost; }