2013-05-06 91 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

相关问题