运行 ASP.NET Plesk 计划任务的代码隐藏

Running ASP.NET code behind on Plesk Scheduled Task

只是想问问我是否有机会每天在 00:00 为 运行 安排一个 asp 网络代码隐藏?我现在正在做的是转到 Plesk > Scheduled Task > Fetch URL 并在上面写上 URL,希望计划页面的页面加载事件为 运行。然而似乎并非如此。

我在共享环境中的 Hostgator 上托管一个网站,所以 Windows Scheduler 对我来说不可行,Quartz 也不可行,因为我是 asp.net 的初学者并且仍然这样做谷歌搜索一个小时后不知道如何使用它。甚至不知道怎么写 php 所以如果这是你建议的解决方案请务必说清楚

有什么方法请推荐

如果有人能提供帮助,我们将不胜感激。非常感谢:)

另一个问题

cmd3.Parameters.AddWithValue("@sid", sid);
MySqlDataReader sdr2 = cmd3.ExecuteReader();
while (sdr2.Read())
{
    string clid = sdr2.GetString(0);
    string couid = sdr2.GetString(0).Split('-')[0] + "-" +b sdr2.GetString(0).Split('-')[1];
    string day = sdr2.GetString(1).ToLower();
    string start = sdr2.GetString(2) + ":00";
    string end = sdr2.GetString(3) + ":00";
    string teacher = sdr2.GetString(4);
    sqlconn.Close();
    sqlconn.Open();
    MySqlCommand cmd4 = new MySqlCommand("select " + gra + " from classes where courseid=@cid and " + gra + " is null", sqlconn);
    cmd4.Parameters.AddWithValue("@cid", couid);
    MySqlDataReader sdr3 = cmd4.ExecuteReader();
    if (sdr3.Read())
    {
        sqlconn.Close();
        sqlconn.Open();
        MySqlCommand cmd5 = new MySqlCommand("delete from enroll where classid = @clid and studentid=@sid;update " + day + " set currentstudent=currentstudent-1 where classid=@clid and start=@start and end=@end and teacher=@teacher", sqlconn);
        cmd5.Parameters.AddWithValue("@clid", clid);
        cmd5.Parameters.AddWithValue("@sid", sid);
        cmd5.Parameters.AddWithValue("@start", start);
        cmd5.Parameters.AddWithValue("@end", end);
        cmd5.Parameters.AddWithValue("@teacher", teacher);
        cmd5.ExecuteNonQuery();
    }
}

这给出了连接错误MySql.Data.MySqlClient.MySqlException: 'Invalid attempt to Read when reader is closed.'。我认为这是因为我在为 sdr3 和 cmd5 打开新连接时关闭了读取 sdr2 的原始连接。有什么办法解决这个问题吗?

您可以做的是:

  1. 在您的 Web 应用程序中用服务器端代码(代码隐藏)编写您的任务,然后在客户端 PC 上安排一个 (windows) 任务以发送一个 HTTP 请求到 URL 您的 web App(或 web API)触发 url 地址 执行这些任务的背后代码。

Scheduled Task:您可以安排 (Power) Shell Script 来启动浏览器或(Postman) 需要 URL 触发您的编码服务器任务。您只需要确保具有计划任务的系统在计划请求时处于打开状态并且配置了正确的权限。