在 Web 集群上创建 Windows 任务计划程序

Create Windows Task Scheduler on Web Clusters

我有 ASP.NET Web 应用程序托管在 两个不同的 IIS Web 服务器(服务器 A 和服务器 B)上,用于 http 请求集群 。我设计了 web 应用程序,用户可以在其中创建和启动 (运行) 手动 windows 任务调度程序在托管网站的 IIS web 服务器上(但在我的情况下,它托管在两个不同的 web 上用于负载平衡的服务器)。

当用户第一次从 Web UI 创建调度程序并且 http 请求转到服务器 A 以创建调度程序时,它会在服务器 A 上创建手动 windows 任务调度程序。但是现在下次用户尝试启动 windows 任务调度程序并且 http 请求转到服务器 B,但服务器 B 上没有 windows 任务调度程序(在第一个 http 请求 windows 调度程序已创建在服务器 A) 上。第二个 http 请求无法在服务器 B 上找到任务调度程序,它显示没有找到 windows 任务调度程序的警报消息。

如下,服务器A有一个调度器- MyScheduler但是服务器B没有同名的调度器

我怎样才能从这个挑战中走出来,请做有需要的。

经过大量研究和开发,我发现 Windows 任务调度程序允许我们定义 目标服务器 您想要创建、读取、运行 并删除任务。

TaskService.TargetServer 属性 是获取计算机的名称 运行 用户连接的 Task Scheduler 服务 to.You 可以找到有关 TaskService 的更多详细信息here.

https://msdn.microsoft.com/en-us/library/windows/desktop/aa383474(v=vs.85).aspx

假设我们有 服务器 A服务器 B,如上文所述。所以我们可以定义服务器A作为目标服务器,在集群环境下在单机上创建调度器。

示例:

TaskService taskService=new TaskService(targetServer: "Server A");