示例#1
0
        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("");
            }
        }
示例#2
0
        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);
            }
        }