Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 有没有办法让Windows服务延迟关闭电脑,直到操作完成?_.net_Visual Studio_Windows Services - Fatal编程技术网

.net 有没有办法让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服务的电脑-有没有办法让电脑等待同步完成后再关机?不确定服务是否可以使用

我已经为一家外部托管的小型企业开发了一个PHP/MySQL电子商务网站

同一数据库的精确副本也托管在企业实体商店中,可通过销售点应用程序(我也在C#NET中开发)访问

我现在必须开发一种保持两个数据库同步的方法

我正在考虑编写一个Windows服务(在C#.NET中),每5分钟比较一次两个数据库(当运行Windows服务的PC实际打开时),但是我有一个关于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方法