|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Announcements
Want a new Job?
Chapters
Services
Feature Zones
|
Note: This is an unedited contribution. If this article is inappropriate,
needs attention or copies someone else's work without reference then please
Report This Article
WebTaskScheduler user guide in ASP.NET
Read WebTaskScheduler user guide in ASP.NET in my site IntroductionDesktop applications is very different form web applications in task scheduling. The problem of web applications is lack of a process to schedule their tasks. ASP.NET provides some technologies one of which I used to create task scheduler for web applications. I have used Caching techniques.Easy UsePlease follow these steps:
C#
static void MyTask_CallBack(WebTaskEventArgs e)
{
// Enter your codes here
}
VB.NET
Shared Sub MyTask_Callback(ByVal e As WebTaskEventArgs)
' Enter your codes here
End Sub
This callback method has an argument of WebTaskEventArgs type. This method will be called when the task is executed.
C#
WebTaskScheduler.Add("MyTask", MyTask_CallBack, TaskExecutePeriod.Weekly);
In VB.NET the codes are a bit longer. Here is a VB.NET example:
VB.NET
Sub AddMyTask()
'Line 1
Dim onMytaskCallBack As WebTaskExecuteCallback
'Line 2
onMytaskCallBack = New WebTaskExecuteCallback(AddressOf MyTask_CallBack)
'Line 3
WebTaskScheduler.Add("MyTask", onMytaskCallBack, TaskExecutePeriod.Weekly)
End Sub
On the first line we defined a variable of WebTaskExecuteCallback type. On the second line we created a new instance of WebTaskExecuteCallback type to the variable, and on the third line we added the task to the class.
Features
Add method is used to add a new task. Here are three ways it is defined: Method 1:
WebTaskScheduler.Add( String , WebTaskExecuteCallback , Integer )
Method 2:
WebTaskScheduler.Add( String , WebTaskExecuteCallback , TaskExecutePeriod )
Method 3:
WebTaskScheduler.Add( String , WebTaskExecuteCallback , TimeSpan )
The two first arguments of these overloads have same behavior. The first argument "key" which its type is string: Specifies the name of the task. This name should be unique. This key may be used for future operations. The second argument "callback" which its type is WebTaskExecuteCallback: Specifies the callback method. This method will run if the task is executed. The method with WebTaskExecuteCallback type has a WebTaskEventArgs type of argument which has been described at the bottom of the page. The third argument of Method 1, "DaysPeriod", which its type is integer: Specifies intervals between the execution of the tasks. If it is set to 10, the task will run after 10 days. The third argument of Method 2, "period", which its type is TaskExecutePeriod: Specifies the type of the task execution intervals. The value can be one of None , EveryNoon , Daily , Weekly , TwoWeekly or Monthly. For example if the value sets to Weekly, the task will run every weekends. The third argument of Method 3, "customPeriod", which its type is TimeSpan: Through this, the task will run after the specified time. For example if the value is set to 45 minutes, the task will run after 45 minutes of adding the method call.
The Remove method can be used to remove a task. Here is its definition: Method 1: Remove(string key) Method 2: Remove(WebTaskItem) The first method accepts the key of the task. The second method accepts the task item which its type is "WebTaskItem".
The GetItem method returns the existing task item. GetItem( string )
Returns WebTaskItem
This method has an argument that is the key of the task which is defined in Add method. This method will return WebTaskItem.
There are two methods to lock and unlock the access to WebTaskScheduler instance. Here are theirs the definition: Method 1: Lock() Method 2: Lock( wait ) Method 3: Unlock() Call Lock method to lock the access, and call Unlock method to unlock the access. Important: Please use try..finally block when you're going to use these methods. Here is an example: C#:
WebTaskScheduler.Lock();
try
{
WebTaskScheduler.Add("MyTask", MyTask_CallBack, 1);
}
finally
{
WebTaskScheduler.Unlock();
}
VB.NET:
WebTaskScheduler.Lock()
Try
Dim onMytaskCallBack As WebTaskExecuteCallback
onMytaskCallBack = New WebTaskExecuteCallback(AddressOf MyTask_CallBack)
WebTaskScheduler.Add("MyTask", onMytaskCallBack, TaskExecutePeriod.Weekly)
Finally
WebTaskScheduler.Unlock()
End Try
CanContinue specifies whether the task can run again next time or not. If it is set to false the task will be removed after execution. The default value is true. TaskItem specifies the task item which its type is WebTaskItem. This can be modified in callback. Some tips
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||