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

时间:2011-10-05 19:13:16

标签: c# asp.net windows virtual-machine

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

(显然最好的答案是解决系统问题,但目前我无法控制......)

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

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

2 个答案:

答案 0 :(得分:1)

您可以使用WMI (Windows Management Instrumentation)执行此操作。虽然我没有这样做的个人经验,但有很多例子。开始:

  1. System.Management中的类将帮助您从.NET框架中查询WMI
  2. MSDN示例:connecting to a remote computer to run a WMI query
  3. WMI脚本:Date/Time tasks
  4. The Win32_LocalTime class
  5. 使用WMI Update Query Language更新系统信息
  6. 希望能让你朝着正确的方向前进。

答案 1 :(得分:0)

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

http://www.windowsnetworking.com/articles_tutorials/configuring-windows-time-service.html