C# 服务器端的计时器与客户端计算机不一致

C# 服务器端的计时器与客户端计算机不一致,c#,asp.net,C#,Asp.net,每个人我都有一个问题,我有一个web表单,它调用一个特定的函数,但它只能每5分钟调用一次。我尝试过使用ajax定时器控件,但是定时器在不同的机器上运行不同,我的意思是我在pc1中加载webform,timmer会在pc1上5分钟后自动调用相同的函数,但是如果我在pc2中加载webform,即使在pc1中加载一分钟,我也会得到一个错误。长话短说,有一种方法可以在服务器上而不是在单个客户机上执行所有操作(无需使用数据库)。请看一看,这是一种调度程序 你可以简单地安排一个作业每5分钟运行一次,然后做你

每个人我都有一个问题,我有一个web表单,它调用一个特定的函数,但它只能每5分钟调用一次。我尝试过使用ajax定时器控件,但是定时器在不同的机器上运行不同,我的意思是我在pc1中加载webform,timmer会在pc1上5分钟后自动调用相同的函数,但是如果我在pc2中加载webform,即使在pc1中加载一分钟,我也会得到一个错误。长话短说,有一种方法可以在服务器上而不是在单个客户机上执行所有操作(无需使用数据库)。

请看一看,这是一种调度程序

你可以简单地安排一个作业每5分钟运行一次,然后做你需要做的任何事情

大概是这样的:

// define the job and tie it to our HelloJob class
IJobDetail job = JobBuilder.Create<HelloJob>()
    .WithIdentity("job1", "group1")
    .Build();

// Trigger the job to run now, and then repeat every 10 seconds
ITrigger trigger = TriggerBuilder.Create()
    .WithIdentity("trigger1", "group1")
    .StartNow()
    .WithSimpleSchedule(x => x
        .WithIntervalInSeconds(10)
        .RepeatForever())
    .Build();

// Tell quartz to schedule the job using our trigger
scheduler.ScheduleJob(job, trigger);

不清楚您已经做了什么,以及您正在尝试实现什么。假设我托管了一个Web表单,其中包含一个值为20的变量x,并且我希望每2分钟更新其值5。现在我从pc1访问我的网络表单,因此2分钟后它的值将是25,4分钟后它将是30,4分钟后我决定检查pc2中变量x的值,因此现在当我访问我的网络表单时,它再次显示x=20的值,并将根据标准再次更新它。我想要的是,如果在pc1中x=30,那么它在pc2中的值也应该相同
public class HelloJob : IJob
{
    public void Execute(IJobExecutionContext context)
    {
        Console.WriteLine("Greetings from HelloJob!");
    }
}