比如说订单15天自动签收。
我做了一个签收页面AutoReceipt.chtml,代码如下
@{
//发货后15天自动签收
var db = Database.Open("rcdb");
var sql = "SELECT * FROM Orders WHERE Status = 2 and datediff(day,UpdateTime,"+ DateTime.Now +") > 15";
var data = db.Query(sql);
if(data != null){
foreach (var item in data)
{
var updateCommand = "UPDATE Orders SET UpdateTime=@0, Status=@1 WHERE Id=@2";
db.Execute(updateCommand, DateTime.Now, 3, item.Id);
}
}
}
可不可以利用每次打开网站都启动_AppStar.cshtmlt这个来执行AutoReceipt.chtml这个页面
//发货后15天自动签收 @functions{ public static string AutoReceipt() { var db = Database.Open("rcdb"); var sql = "SELECT * FROM Orders WHERE Status = 2 and datediff(day,UpdateTime,getdate()) > 15"; var data = db.Query(sql); if (data != null) { foreach (var item in data) { var updateCommand = "UPDATE Orders SET UpdateTime=@0, Status=@1 WHERE Id=@2"; db.Execute(updateCommand, DateTime.Now, 3, item.Id); } } return ""; } }
@{ //定时一天执行一次 var dbbackup = Database.Open("backup"); var sqlAuto = "SELECT * FROM Auto WHERE Id=1 and datediff(day,UpdateTime,getdate()) > 1"; var Auto = dbbackup.QuerySingle(sqlAuto); if (data != null) { //大于1天执行函数 razor.AutoReceipt(); } }
利用_AppStart.cshtml 访问网站执行一次 和 定时大于一天来检查一次 这样可以减少反复查询数据库
你们公司一定是接了一个假的电商网站,500元,再多没有了!
如果你是学生,在练手的话,一般没有必要实现自动签收吧?
我初学者
你是怎么想到在cshtml里写业务代码的?
我初学者 不太懂
@缘分0919: 放到实体类里吧.每次访问都启动就用请求开始事件.
百度:.net管道周期模型