.net 有没有办法让Windows服务延迟关闭电脑,直到操作完成?
我已经为一家外部托管的小型企业开发了一个PHP/MySQL电子商务网站 同一数据库的精确副本也托管在企业实体商店中,可通过销售点应用程序(我也在C#NET中开发)访问 我现在必须开发一种保持两个数据库同步的方法 我正在考虑编写一个Windows服务(在C#.NET中),每5分钟比较一次两个数据库(当运行Windows服务的PC实际打开时),但是我有一个关于Windows服务的问题.net 有没有办法让Windows服务延迟关闭电脑,直到操作完成?,.net,visual-studio,windows-services,.net,Visual Studio,Windows Services,我已经为一家外部托管的小型企业开发了一个PHP/MySQL电子商务网站 同一数据库的精确副本也托管在企业实体商店中,可通过销售点应用程序(我也在C#NET中开发)访问 我现在必须开发一种保持两个数据库同步的方法 我正在考虑编写一个Windows服务(在C#.NET中),每5分钟比较一次两个数据库(当运行Windows服务的PC实际打开时),但是我有一个关于Windows服务的问题 如果我要在数据库同步时关闭运行Windows服务的电脑-有没有办法让电脑等待同步完成后再关机?不确定服务是否可以使用
如果我要在数据库同步时关闭运行Windows服务的电脑-有没有办法让电脑等待同步完成后再关机?不确定服务是否可以使用它,但目的是警告用户在关机时操作挂起。没有确定服务是否可以使用它,但目的是警告用户在关机时操作处于挂起状态。您可以使用AbortSystemShutdown或shutdown/a,但它仅在计划关机时有效 如果您想使用serice来实现这一点,您可以使用
protected override void OnShutdown()
{
base.RequestAdditionalTime(max_time_of_your_db_sync_in_ms);
serviceCore.OnShutdown();
Stop();
}
请参阅您可以使用AbortSystemShutdown或shutdown/a,但它仅适用于计划关机 如果您想使用serice来实现这一点,您可以使用
protected override void OnShutdown()
{
base.RequestAdditionalTime(max_time_of_your_db_sync_in_ms);
serviceCore.OnShutdown();
Stop();
}
请参考Msdn中的说明,RequestAdditionalTime方法“覆盖了OnContinue、OnPause、OnStart或OnStop”
您不能在OnShutDown上覆盖RequestAdditionalTime方法。Msdn说RequestAdditionalTime方法“覆盖了OnContinue、OnPause、OnStart或OnStop” 您不能在OnShutDown上重写RequestAdditionalTime方法