如何知道文件副本正在进行中以及如何知道特定的Windows服务正在运行?

时间:2013-05-06 16:44:45

标签: c# wcf file-io windows-services

在我们的应用程序中,我们正在使用Windows服务& WCF服务。该申请的任务之一如下:

  1. 使用我们的管理网站在特定服务器位置复制文件(大文件)。
  2. 我们有一个Windows服务,可以从服务器和服务器中获取文件。将数据转储到数据库。
  3. WCF服务在服务呼叫期间使用这些数据。
  4. 我们需要以下情况的解决方案

    • 如果正在进行文件复制,则Windows服务不应该获取该文件。 如何识别?
    • 如果widows服务正在运行,并且在那一刻,如果有任何服务请求,WCF服务需要响应“ Windows服务正在处理数据,因此请在有时之后再次请求”。 如何识别Windows服务正在运行?

1 个答案:

答案 0 :(得分: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锁定。