Windows计划任务是否可以连接到休止端点?

时间:2014-08-21 20:22:30

标签: c# asp.net-mvc asp.net-web-api scheduled-tasks

我有一个用ASP.NET Web API编写的休息服务。

我希望计划任务连接到端点,如:

www.example.com/jobs/job1

我希望能够设置每隔12小时说一次的间隔时间。

是否可以使用计划任务执行此操作?

我想避免为了ping一个休息端点而创建一个Windows服务。

2 个答案:

答案 0 :(得分:15)

您可以使用PowerShell和System.Net.WebClient轻松完成此操作。

使用以下内容创建一个简单的MyScriptName.ps1文件:

$web = New-Object System.Net.WebClient
$str = $web.DownloadString("http://www.example.com/jobs/job1")
$str # not strictly necessary but if you run this in PowerShell you will get the response body of your endpoint

然后创建新的计划任务并向Start a program添加新操作并使用以下设置:

Program/script: powershell
Add arguments: .\MyScriptName.ps1
Start in: C:\The\Directory\You\Saved\Your\Script\In

答案 1 :(得分:2)

从PowerShell 3.0开始,您可以使用 Invoke-RestMethod cmdlet。

<button onclick="myFunction.bind(this)">test</button>

这里的优点是,如果它是XML或JSON,它会将它反序​​列化为一个对象。对于RSS或ATOM,它将返回Item或Entry XML节点。对于文本,它将显示文本。

您可以在这里阅读更多内容: https://msdn.microsoft.com/en-us/powershell/reference/5.1/microsoft.powershell.utility/invoke-restmethod

使用以下详细信息创建计划任务:

  

触发:每天,在您选择的时间,重复12小时,持续1天。

     

操作:

     
    

启动程序: powershell

         

参数: -NoProfile -NoInteractive -File&#34;。\ YourScriptName.ps1&#34;

         

开始于: C:\ your_scripts

  

鉴于您已创建了一个对象,您可以按照您选择的方式格式化此数据,但这超出了此问题的范围。