2013-06-11 43 views
1

我爲外部託管的小型企業開發了PHP/MySQL電子商務網站。有沒有辦法讓一個Windows服務延遲PC關機,直到一個動作完成?

同一數據庫的確切副本也在現場託管在商店實體店,通過銷售點應用程序(我也在C#.NET中開發)訪問。我現在不得不開發一種保持兩個數據庫同步的方法。

我想寫一個Windows服務(使用C#.NET),每5分鐘比較兩個數據庫(當運行Windows服務的PC實際打開時),但是我有一個關於Windows的問題服務。

如果我在數據庫同步正在進行時關閉正在運行Windows服務的PC - 是否有辦法讓PC等待,直到同步完成後再關閉?

回答

2

您可以使用AbortSystemShutdown或shutdown/a,但僅適用於計劃關機。

如果你想用的貢獻莫過於這樣做,你可以使用

protected override void OnShutdown() 
{ 
    base.RequestAdditionalTime(max_time_of_your_db_sync_in_ms); 
    serviceCore.OnShutdown(); 
    Stop(); 
} 

MSDN

0

:資源下載說RequestAdditionalTime法 '重寫OnContinue,在onPause,OnStart中,或調用OnStop' ..

您無法重寫OnShutDown上的RequestAdditionalTime方法

相關問題