我的Web服务中有一个GetLocalTime()方法,我想在form.cs中调用,并在按钮点击时在设备上的Web服务器上设置时间?那么我应该在按钮点击事件上写什么来调用datetime函数并设置时间?
Web服务中的方法:
[WebMethod]
public DateTime GetLocalTime()
{
OracleBridge ob = new OracleBridge(_connStr);
string sqlQuery = "select sysdate from dual";
DateTime dt = new DateTime();
try
{
dt = Convert.ToDateTime(ob.ExecuteScalar(sqlQuery));
}
catch (OracleException ex)
{
throw ex;
}
return dt;
}
在form.cs中单击按钮事件以获取和设置时间:
private void btnSync_Click(object sender, EventArgs e)
{
???????????? // what should I write here to call the method
DateTime localDateTime = ?????????; //what should I write here pass datetime to setsystemdatetime
SetSystemDateTime(localDateTime);
System.Threading.Thread.Sleep(500);
SetSystemDateTime(localDateTime);
}
答案 0 :(得分:0)
.NET CLR不公开任何设置时间的方法。如果你真的想要这样做,你将需要使用Win32 SetLocalTime API和import it。
我建议不要让Web服务器进程设置系统时钟。当您能够设置时钟时,可以绕过各种安全机制;例如,恶意用户可能导致过期的会话或证书显示为有效。