C# 是否在ASP.NET网站启动时验证并重置系统时钟?

C# 是否在ASP.NET网站启动时验证并重置系统时钟?,c#,asp.net,windows,virtual-machine,C#,Asp.net,Windows,Virtual Machine,我有一个ASP.NET应用程序,它托管在一个虚拟服务器群上,存在时间问题。其症状是,当服务器启动或重新启动时,它们通常会出现错误的系统时间(可能是几个小时) (显然,最好的答案是解决系统问题,但这目前超出了我的控制范围…) 所以这里有一个问题:是否有一种简单的方法让我的ASP.NET应用程序在启动时查询权威NTP服务器,然后在需要时重置系统时钟 技术假设: *ASP.NET 4.0 *Windows 2008 *服务器上的完全本地管理员权限我认为应用程序不是重置系统时间的正确位置。如果我没有弄错

我有一个ASP.NET应用程序,它托管在一个虚拟服务器群上,存在时间问题。其症状是,当服务器启动或重新启动时,它们通常会出现错误的系统时间(可能是几个小时)

(显然,最好的答案是解决系统问题,但这目前超出了我的控制范围…)

所以这里有一个问题:是否有一种简单的方法让我的ASP.NET应用程序在启动时查询权威NTP服务器,然后在需要时重置系统时钟

技术假设: *ASP.NET 4.0 *Windows 2008
*服务器上的完全本地管理员权限

我认为应用程序不是重置系统时间的正确位置。如果我没有弄错的话,Windows时间服务可以管理以下内容:


您可以使用。虽然我个人没有这样做的经验,但有很多例子。开始:

  • 中的类将帮助您从.NET framework中查询WMI
  • MSDN示例:
  • WMI脚本:
  • 使用更新系统信息

  • 希望这能让您朝着正确的方向前进。

    我认为应用程序不适合这样做。我认为有一些工具可以保持时间同步。也许是Windows时间服务?我完全同意这是处理它的“正确”方式。我只是想在管理不善的环境中找到解决办法……请记住,在ASP.NET应用程序运行时,由于更改系统时钟,可能会出现奇怪的行为。例如,更改时钟可能会无意中导致应用程序池回收超时,从而导致w3wp.exe进程停止。小心点。问题是我无法控制的邪恶势力正在配置服务器并在其上启动我的应用程序。我的第一个联系人是应用程序启动。。。如果时钟太不正常,我可能会让应用程序失败,但我“希望”能够“自动”修复问题,而不向服务器启动RDP会话…这是一个困难的问题。。。您可以创建一个在服务器上运行的服务吗?