@bhavesh002 You can do it in asp.net Global.asax
I am providing here code by using which you can perform your desired action
using this schedule class
public class Scheduler
{
private class CacheItem
{
public string Name;
public Callback Callback;
public Cache Cache;
public DateTime LastRun;
}
public delegate void Callback();
private static int _numberOfMinutes = 1;
public static void Run(string name, int minutes, Callback callbackMethod)
{
_numberOfMinutes = minutes;
CacheItem cache = new CacheItem();
cache.Name = name;
cache.Callback = callbackMethod;
cache.Cache = HttpRuntime.Cache;
cache.LastRun = DateTime.Now;
AddCacheObject(cache);
}
private static void AddCacheObject(CacheItem cache)
{
if (cache.Cache[cache.Name] == null)
{
cache.Cache.Add(cache.Name, cache, null,
DateTime.Now.AddMinutes(_numberOfMinutes), Cache.NoSlidingExpiration,
CacheItemPriority.NotRemovable, CacheCallback);
}
}
private static void CacheCallback(string key, object value, CacheItemRemovedReason reason)
{
CacheItem obj_cache = (CacheItem)value;
if (obj_cache.LastRun < DateTime.Now)
{
if (obj_cache.Callback != null)
{
obj_cache.Callback.Invoke();
}
obj_cache.LastRun = DateTime.Now;
}
AddCacheObject(obj_cache);
}
}
Here you should write your code like this in global.asax
protected void Application_Start(object sender, EventArgs e)
{
if(DateTime.Now.TimeOfDay == Yourtime;)
Scheduler.Run("test", 20, RunScheduleTasks);
}
Mark as answer if it helps