• windows服务定时任务


       其实定时任务时不时会碰到,只不过解决方案也不是只有一个,网上也有很多文章,但是没有一篇说得很清楚,尤其是安装环节,今天就着重说一下安装,

    其他步骤带过,C#开发windows服务,开发,安装,调试

    1. 添加安装程序  (找的其他博客的配图)

    C# <wbr>windows服务的创建与调试

    C# <wbr>windows服务的创建与调试

     

    之后我们可以看到上图,自动为我们创建了ProjectInstaller.cs以及2个安装的组件。

    2)修改安装服务名

    右键serviceInsraller1,选择属性,将ServiceName的值改为ServiceTest。

     C# <wbr>windows服务的创建与调试

    3)修改安装权限

    右键serviceProcessInsraller1,选择属性,将Account的值改为LocalSystem。

     C# <wbr>windows服务的创建与调试

     

    2.业务代码(读取配置文件里面的所有节点,然后开启多个定时任务)app.config配置如下:

    protected override void OnStart(string[] args)
            {
    
                 NameValueCollection urls = ConfigurationManager.AppSettings;
    
                List<Timer>  timers = new List<Timer> ();
                 int i =1;
                 foreach (var item in urls)
                 {
                     try
                     {
                         string values = urls["url" + i];
                         string[] strs = values.Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries);
                         string url = strs[0];
                         int interval = Convert.ToInt32(strs[1]);
                         Timer temp = new Timer();
                         temp.AutoReset = true;
                         temp.Interval = interval;
                         temp.Enabled = true;
                         temp.Elapsed += new ElapsedEventHandler((object sender, System.Timers.ElapsedEventArgs e) =>
                         {
                             try
                             {
                                 Http.Get(url);
                             }
                             catch (Exception ex)
                             {
                                 Log.LogResult(ex.StackTrace);
                             }
    
                         });
                         temp.Start();
    
                         timers.Add(temp);
                     }
                     catch (Exception ex)
                     {
    
                         Log.LogResult("创建timer失败:"+ex.StackTrace);
                     }
                     i++;
                 }
            }

     3. 安装

       如果项目是4.0的,那么要去  C:WindowsMicrosoft.NETFrameworkv4.0.30319    (V4.0开头的就行) 路径下面找到 InstallUtil.exe

      项目如果是2.0的,那么找 C:WindowsMicrosoft.NETFrameworkv2.0.50727  (v2.0 开头就行)  路径下面找到 InstallUtil.exe

       要将服务安装到哪台机就要去哪台机里面找,没有框架就装框架,如果复制本地的文件到远程服务器使用是不行的,微软有安全验证

     将文件installUtil.exe 复制到  Debug目录下面 

      准备工作做好,开始安装: 以管理员身份打开cmd,然后进到Debug目录里面,先试试installutil.exe 有没有用

    出现类似页面就说明有用,

    执行命令 installutil   serviceTest.exe(服务对应程序名称debug下面的 .exe )

    如果出现安装成功字眼,并且没有出现错误字眼,说明服务安装成功

    然后去服务里面找到这个服务

    4.调试   (调试 => 附加到进程 )

    windows服务无法直接运行调试,跟着步骤来: 启动服务才能附加进程调试

    如果勾都打上了还找不到,就关闭这个窗口稍微等等再来一次,准能找到

    然后就可以愉快的加断点调试了

    如果改了代码,需要先停止服务 ,然后重新生成项目,再启动,然后重新附加进程

    2.卸载服务(安装目录里面有InstallUtil.exe的情况下)

            命令: installutil /u <yourproject>.exe

  • 相关阅读:
    实验二、作业调度模拟实验
    实验一
    0909 初识操作系统
    实验四、主存空间的分配和回收模拟
    12.27评论5位同学试验三
    实验三进程调度模拟程序
    实验二、作业调度模拟实验
    实验一报告
    实验四 主存空间的分配和回收模拟
    实验三 进程调度模拟程序
  • 原文地址:https://www.cnblogs.com/shellphen/p/9914591.html
Copyright © 2020-2023  润新知