2013-05-06 111 views
1

在我們的應用程序中,我們使用的是Windows服務& WCF服務。應用程序的任務之一如下:如何知道文件複製正在進行中以及如何知道特定的Windows服務正在運行?

  1. 客戶端使用我們的管理網站在特定服務器位置複製文件(大文件)。
  2. 我們有一個Windows服務,它從服務器&轉儲數據到數據庫。
  3. WCF服務在服務調用期間使用這些數據。

我們需要解決方案,以下情況

  • 如果文件複製過程中,窗口服務不應拾取該文件。 如何識別?
  • 如果widows服務正在運行,並且在那一刻如果有任何服務請求來WCF服務需要響應,「windows服務正在處理數據,所以請有時後請再次請求」。 如何識別windows服務正在運行?
+0

您想通知調用者在Windows服務中託管的Windows服務正在「正在運行」的WCF服務?來自WCF服務的任何響應意味着Windows服務*正在運行*。這似乎很明顯,你能否澄清這實際上是你問的? – 2013-05-06 17:00:20

+0

我編輯了這個問題。基本上我想知道兩件事:1.有什麼方法知道文件應對是否正在進行中。 2.有什麼辦法可以知道一個特定的Windows服務是否在做它的處理? – Paul 2013-05-06 17:35:47

+0

可能最好將它分成兩個問題,因爲它們不相關。 – ChrisF 2013-05-06 20:05:04

回答

1
If file copy is in progress windows service should not pick-up that file. 
How to identify that? 

可以使用的.Net FileWatcher類,一個有用的樣本可以發現here

How to identify that the windows service is running 

我覺得你的windows服務必須在操作系統開始啓動,
如果你想要知道Windows服務是否正在完成文件處理,可以執行Singleton patternsample)或使用鎖定Mutexsemaphore

相關問題