• webapi + windows计划 + mshta 实现定时执行任务


    当然,实现定时任务有更好的操作方式,比如
    方式一:
    asp.net mvc+quartz.net +corn +webapi,asp.net mvc做任务管理的平台,使用CronTrigger做定时触发,quartz.net做定时执行控制,webapi实现执行逻辑
    方式二:
    老生常谈的一种,windows服务(开机自启)+定时器(timer,quartz.net等)+webapi(或者其他实现执行逻辑)
    最近在做cs,timer实现时间的控制并不精确,决定以windows计划实现,先介绍一下mshta吧:

    Mshta
    它支持命令行参数,可以接收JS和VBS的方法。
    例子如下:

    //JS,要以vbscript:开头,实现不打开浏览器显示hello world!
    mshta vbscript:window.execScript("alert('hello world!');","javascript")(window.close)
    
    //VBA,要以javascript:开头,实现不打开窗体显示hello world!
    mshta javascript:window.execScript("msgBox('hello world!'):window.close","vbs") 

    WebApi

    创建一个WebApi即可,假设路径为http://localhost:22673/api/SendMail/SendToLeader,需要支持HttpGet

    那么在重建windows执行计划时,在操作--选择启动程序,可参照如下:

    //cmd执行如下,在浏览器打开连接
    explorer http://localhost:22673/api/SendMail/SendToLeader

    不打开浏览器,可参照如下:

    //cmd命令下,可通过执行如下语句实现逻辑控制,不打开浏览器
    //直接使用mshta作为程序文件可以
    //创建bat文件作为程序文件也可以
    mshta vbscript:createobject("wscript.shell").run("""iexplore"" http://localhost:22673/api/SendMail/SendToLeader",0)(window.close)
  • 相关阅读:
    【Java基础】static关键字相关
    【Java基础】foreach循环
    【Java基础】可变参数
    Android的启动模式(下)
    Android的启动模式(上)
    Universal-Image-Loader完全解析(下)
    Universal-Image-Loader完全解析(上)
    布局优化之ViewStub、Include、merge使用分析
    人在千锋--网络学习之开发项目爱限免
    4_2网络学习第二天--XML解析
  • 原文地址:https://www.cnblogs.com/lcawen/p/8074738.html
Copyright © 2020-2023  润新知