我是新手,MVC 4这是我第一个使用这项技术的项目,我浏览了ASP.NET中的Movie和ContosoUniversity示例。
该网站声称销售预付费产品。数据库包含用户、经销商、供应商等表。
我正在尝试安排我的系统。
例如,每天晚上 23:59,将调用一个特定的函数,并从数据库中检索满足特定查询的所有用户名和密码。
我还需要在某个日期之前发送短信,我在表格上分配了一个单独的列,它将保持在服务结束时发出的警报。
我很想听听想法以及如何开始搞乱系统调度或实现特定想法。
谢谢并原谅我的英语。
我是新手,MVC 4这是我第一个使用这项技术的项目,我浏览了ASP.NET中的Movie和ContosoUniversity示例。
该网站声称销售预付费产品。数据库包含用户、经销商、供应商等表。
我正在尝试安排我的系统。
例如,每天晚上 23:59,将调用一个特定的函数,并从数据库中检索满足特定查询的所有用户名和密码。
我还需要在某个日期之前发送短信,我在表格上分配了一个单独的列,它将保持在服务结束时发出的警报。
我很想听听想法以及如何开始搞乱系统调度或实现特定想法。
谢谢并原谅我的英语。
最后我在全球asax内做到了。我不知道这是否是最好的方法,但它有效..
这是代码。
protected void Application_Start()
{
try
{
.
.
.
SetTimer();
}
catch (Exception ex)
{
...
}
}
private static void SetTimer()
{
DateTime tomorow = DateTime.Now.AddDays(1);
DateTime midnight = new DateTime(tomorow.Year, tomorow.Month, tomorow.Day, 0, 0, 0);
TimeSpan d = midnight - DateTime.Now;
sTimer.Enabled = true;
sTimer.Interval = d.TotalMilliseconds;
sTimer.Elapsed += new System.Timers.ElapsedEventHandler(sTimer_Elapsed);
sTimer.Start();
}
static void sTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
sTimer.Interval = TimeSpan.FromHours(24).TotalMilliseconds;
db = new CompanyContext();
//some func
sendInOutUsers();
AlartUsers();
}
您需要将调度作为 MVC 项目之外的单独组件进行。通常,您将创建一个始终在 IIS 服务器(或其他服务器)上运行的 Windows 服务项目,该项目将包括一个计时器,以按指定的时间表启动不同的任务。您可以在数据库中创建一个配置文件或一个表,其中包含计划和其他执行信息,并从服务中查询此文件或表。
在预定时间运行的服务器上使用单独的 Windows 服务怎么样?我亲自实现了这一点,并且效果很好。