Asp.net 如何向windows任务计划程序发出web请求
我有一个静态webmethod,即(Asp.net 如何向windows任务计划程序发出web请求,asp.net,windows,scheduled-tasks,job-scheduling,Asp.net,Windows,Scheduled Tasks,Job Scheduling,我有一个静态webmethod,即(http://localhost:61176/trunk/MusteriKontrol.aspx/CheckMusteri)我想从Windows任务计划程序调用此方法。我该怎么做 您是否考虑过一种不同的方法来调度Windows任务调度器对web方法的调用 例如,可以使用开源项目从ASP.NET项目中安排任务 Revalee是一项服务,允许您计划对web应用程序的web回调。在您的例子中,您将安排一个回调,该回调将在特定时间调用您的web方法。Revalee可以
http://localhost:61176/trunk/MusteriKontrol.aspx/CheckMusteri
)我想从Windows任务计划程序调用此方法。我该怎么做 您是否考虑过一种不同的方法来调度Windows任务调度器对web方法的调用
例如,可以使用开源项目从ASP.NET项目中安排任务
Revalee是一项服务,允许您计划对web应用程序的web回调。在您的例子中,您将安排一个回调,该回调将在特定时间调用您的web方法。Revalee可以很好地处理离散事务操作的任务,比如更新一些数据库值或发送自动电子邮件消息(阅读:不长时间运行)。这样做的好处是,调度回调的代码以及执行您的操作的代码(即web方法)都将驻留在您的应用程序中
要使用Revalee,您需要:
ScheduleWebMethodCallback()
方法时,您将注册一个将来的回调(本例假设您需要您的操作从现在开始运行12小时)
ScheduleCallback()
,Revalee客户端库还支持异步调用
RevaleeRegistrar.ScheduleCallbackAsync(callbackTime, callbackUrl);
免责声明:我是参与Revalee项目的开发人员之一。不过,要明确的是,Revalee是免费的开源软件。源代码在上提供。您可以使用脚本。这有一个时间检查,一个注释掉的Try..Catch,以防在查询中引发错误时需要执行某些操作,并在应用程序事件日志中记录它运行的时间:
# Download the HTML of a web page.
# Make sure an event log source is created with New-EventLog -LogName Application -Source MyPSscript
# Only do this if the time is 5a.m. or later, to give the server a rest from midnight.
$currHour = (Get-Date).Hour
if ($currHour -ge 5) {
$web = New-Object Net.WebClient
#try {
$temp = $web.DownloadString("http://localhost:61176/trunk/MusteriKontrol.aspx/CheckMusteri")
#}
#catch {
# do nothing.
#}
write-eventlog -logname Application -source MyPSscript -eventID 1001 -entrytype Information -message "Fetched web page." -category 0
}
# Download the HTML of a web page.
# Make sure an event log source is created with New-EventLog -LogName Application -Source MyPSscript
# Only do this if the time is 5a.m. or later, to give the server a rest from midnight.
$currHour = (Get-Date).Hour
if ($currHour -ge 5) {
$web = New-Object Net.WebClient
#try {
$temp = $web.DownloadString("http://localhost:61176/trunk/MusteriKontrol.aspx/CheckMusteri")
#}
#catch {
# do nothing.
#}
write-eventlog -logname Application -source MyPSscript -eventID 1001 -entrytype Information -message "Fetched web page." -category 0
}