Schedule a task to call a webpage using Task scheduler.

One frequent question I see in the newsgroups is "How do I schedule a task to run in IIS?”   This article discusses one technique using a VBS Script and Windows Task Scheduler.    Using Windows Task scheduler allows custom jobs to execute without having to stay logged into a server.    You can use this technique to request web pages frequently on a timed basis.  This keeps the page in-memory providing a better performance.   This could also request web pages to perform other administrative tasks. 

Here are steps to get started.

  • Write your VBS Script
  • Develop the webpage to process the HTTP Request
  • Create / Add table to database to track logging
  • Schedule the VBS Script

Write your VBS script

The script makes an HTTP request to a webpage on a timed basis.  (I.E. every 5 minutes).

Call LogEntry()

Sub LogEntry()

        ‘Force the script to finish on an error.
        On Error Resume Next

        'Declare variables
        Dim objRequest
        Dim URL

        Set objRequest = CreateObject("Microsoft.XMLHTTP")

        'Put together the URL link appending the Variables.
        URL = "http://www.YourDomain.com/track.aspx

        'Open the HTTP request and pass the URL to the objRequest object
        objRequest.open "POST", URL , false

        'Send the HTML Request
        objRequest.Send

        'Set the object to nothing
        Set objRequest = Nothing

End Sub
 
Track.aspx webpage

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="tracklog.aspx.vb" Inherits="Tracklog" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;

<html xmlns="http://www.w3.org/1999/xhtml&quot; >

<head runat="server">
    <title>Log Page</title>
</head>

<body>

<form id="form1" runat="server">

</form>

</body>

</html>

Tracklog.aspx.vb code behind

Imports System.Data
Imports System.Data.SqlClient
Imports System.Configuration

Partial Class Tracklog

    Inherits System.Web.UI.Page

        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

‘Put your code in that would process when Track.aspx is requested
       Response.write(“Track.aspx was called:” & System.DateTime.Now())

       End Sub

End Class


How to schedule a task using Windows Task Scheduler

A scheduled task will allow a person to schedule any script, program, or document to run.   Scheduled Tasks run at the time specified which could be multiple times per minute, hour, or day.  The KB Article explains step-by-step.

·        http://support.microsoft.com/default.aspx?scid=kb;en-us;308569&sd=tech

Refererence links

15 thoughts on “Schedule a task to call a webpage using Task scheduler.”

  1. what are the cons of this method ?
    how long can the asp .neet script run ?
    does the request being closed only after the script finished running ?

    Like

  2. What if the URL you’re trying to call is in a password protected directory? Is there a way to pass a user name and password?

    Like

  3. it is very heplful. but i do not know how to run vbs script with windows scheduler. would you please drop a few lines? thanks

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: