public void SaveAssignTaskService() { string appName = "GMA_SV_AssignAfterEffectService"; Console.WriteLine("Update xml file in {0} service", appName); string path = Path.Combine(Directory.GetCurrentDirectory(), string.Format(@"WindowsService\{0}\Deploy\{1}.exe.config", appName, appName)); try { if (!File.Exists(path)) { Console.WriteLine("xml file not found"); return; } XmlDocument doc = new XmlDocument(); doc.Load(path); //Connectionstring XmlNodeList nodeConnectionString = doc.SelectNodes("/configuration/connectionStrings/add"); foreach (XmlNode n in nodeConnectionString) { var attr = n.Attributes[0]; switch (attr.Value) { case "TemplateEntities": n.Attributes[1].Value = Configuration.Info.ServerInfo.SQLServer.ConnectionStringTemplateEntities; break; case "StandardDataLibraryEntities": n.Attributes[1].Value = Configuration.Info.ServerInfo.SQLServer.ConnectionStringStandardDataLibraryEntities; break; case "UserEntities": n.Attributes[1].Value = Configuration.Info.ServerInfo.SQLServer.ConnectionString; break; } } //Appsetting XmlNodeList nodeAppSetting = doc.SelectNodes("/configuration/appSettings/add"); foreach (XmlNode n in nodeAppSetting) { var attr = n.Attributes[0]; switch (attr.Value) { case "lblDataConnection": n.Attributes[1].Value = Configuration.Info.ServerInfo.SQLServer.AppSettingValue; break; case "ServicePath": SVServiceFolder[] folders = Configuration.Info.ServerInfo.SVServicePaths; SVServiceFolder f = folders.FirstOrDefault(m => m.Path.Contains(appName)); n.Attributes[1].Value = (f != null ? f.Path : ""); break; } } //doc.Save(path); // Common.HotFixSaveRawXml(doc, path); // Console.WriteLine("Update {0} xml file success", appName); } catch (Exception ex) { Console.WriteLine("Error when update {0} xml service file", appName); Console.WriteLine(ex.Message); } finally { Console.WriteLine(""); } }
static void CreateTask() { try { using (TaskService ts = new TaskService()) { string appName = ""; SVServiceFolder[] folders; SVServiceFolder location = new SVServiceFolder(); #region " Assign Task services " TaskDefinition tdAssignTask = ts.NewTask(); tdAssignTask.RegistrationInfo.Description = ""; tdAssignTask.RegistrationInfo.Date = DateTime.Now; Trigger tr1 = Trigger.CreateTrigger(TaskTriggerType.Time); tr1.StartBoundary = DateTime.Now; tr1.Repetition = new RepetitionPattern(new TimeSpan(0, 1, 0), TimeSpan.Zero, false); tdAssignTask.Triggers.Add(tr1); Trigger tr2 = Trigger.CreateTrigger(TaskTriggerType.Time); tr2.StartBoundary = DateTime.Now; tr2.Repetition = new RepetitionPattern(new TimeSpan(0, 1, 0), TimeSpan.Zero, false); tdAssignTask.Triggers.Add(tr2); Trigger tr3 = Trigger.CreateTrigger(TaskTriggerType.Time); tr3.StartBoundary = DateTime.Now; tr3.Repetition = new RepetitionPattern(new TimeSpan(0, 1, 0), TimeSpan.Zero, false); tdAssignTask.Triggers.Add(tr3); // appName = "GMA_SV_AssignAfterEffectService"; folders = Configuration.Info.ServerInfo.SVServicePaths; location = folders.FirstOrDefault(m => m.Path.Contains(appName)); if (location != null) { // Create an action that will launch Notepad whenever the trigger fires tdAssignTask.Actions.Add(new ExecAction(string.Format(@"{0}\Deploy\{1}.exe", location.Path, appName), string.Format(@"{0}\Deploy\{1}.txt", location.Path, appName), null)); // Register the task in the root folder ts.RootFolder.RegisterTaskDefinition(appName, tdAssignTask); } else { Console.WriteLine("Service: " + appName); Console.WriteLine("URL setup file not found"); } #endregion #region " Timeout services " TaskDefinition tdCheckTimeOut = ts.NewTask(); tdCheckTimeOut.RegistrationInfo.Description = ""; tdCheckTimeOut.RegistrationInfo.Date = DateTime.Now; Trigger tr4 = Trigger.CreateTrigger(TaskTriggerType.Time); tr4.StartBoundary = DateTime.Now; tr4.Repetition = new RepetitionPattern(new TimeSpan(0, 1, 0), TimeSpan.Zero, false); tdCheckTimeOut.Triggers.Add(tr4); Trigger tr5 = Trigger.CreateTrigger(TaskTriggerType.Time); tr5.StartBoundary = DateTime.Now; tr5.Repetition = new RepetitionPattern(new TimeSpan(0, 1, 0), TimeSpan.Zero, false); tdCheckTimeOut.Triggers.Add(tr5); Trigger tr6 = Trigger.CreateTrigger(TaskTriggerType.Time); tr6.StartBoundary = DateTime.Now; tr6.Repetition = new RepetitionPattern(new TimeSpan(0, 1, 0), TimeSpan.Zero, false); tdCheckTimeOut.Triggers.Add(tr6); // appName = "GMA_SV_CheckTimeOutService"; folders = Configuration.Info.ServerInfo.SVServicePaths; location = folders.FirstOrDefault(m => m.Path.Contains(appName)); if (location != null) { // Create an action that will launch Notepad whenever the trigger fires tdCheckTimeOut.Actions.Add(new ExecAction(string.Format(@"{0}\Deploy\{1}.exe", location.Path, appName), string.Format(@"{0}\Deploy\{1}.txt", location.Path, appName), null)); // Register the task in the root folder ts.RootFolder.RegisterTaskDefinition(appName, tdCheckTimeOut); } else { Console.WriteLine("Service: " + appName); Console.WriteLine("URL setup file not found"); } #endregion #region " Notification services " TaskDefinition tdNotification = ts.NewTask(); tdNotification.RegistrationInfo.Description = ""; tdNotification.RegistrationInfo.Date = DateTime.Now; Trigger tr7 = Trigger.CreateTrigger(TaskTriggerType.Time); tr7.StartBoundary = DateTime.Now; tr7.Repetition = new RepetitionPattern(new TimeSpan(0, 1, 0), TimeSpan.Zero, false); tdNotification.Triggers.Add(tr7); Trigger tr8 = Trigger.CreateTrigger(TaskTriggerType.Time); tr8.StartBoundary = DateTime.Now; tr8.Repetition = new RepetitionPattern(new TimeSpan(0, 1, 0), TimeSpan.Zero, false); tdNotification.Triggers.Add(tr8); Trigger tr9 = Trigger.CreateTrigger(TaskTriggerType.Time); tr9.StartBoundary = DateTime.Now; tr9.Repetition = new RepetitionPattern(new TimeSpan(0, 1, 0), TimeSpan.Zero, false); tdNotification.Triggers.Add(tr9); // appName = "GMA_SV_NotificationService"; folders = Configuration.Info.ServerInfo.SVServicePaths; location = folders.FirstOrDefault(m => m.Path.Contains(appName)); if (location != null) { // Create an action that will launch Notepad whenever the trigger fires tdNotification.Actions.Add(new ExecAction(string.Format(@"{0}\Deploy\{1}.exe", location.Path, appName), string.Format(@"{0}\Deploy\{1}.txt", location.Path, appName), null)); // Register the task in the root folder ts.RootFolder.RegisterTaskDefinition(appName, tdNotification); } else { Console.WriteLine("Service: " + appName); Console.WriteLine("URL setup file not found"); } #endregion } Console.WriteLine("Create jobs done"); } catch (Exception ex) { Console.WriteLine(ex.Message); } }