1

在我们的应用程序中,我们使用的是 Windows 服务和 WCF 服务。该应用程序的任务之一如下:

  1. 使用我们的管理网站在特定服务器位置的客户端复制文件(大文件)。
  2. 我们有一个 Windows 服务,它从服务器获取文件并将数据转储到数据库。
  3. WCF 服务在服务调用期间使用这些数据。

我们需要解决以下情况

  • 如果文件复制正在进行中,Windows 服务不应获取该文件。如何识别?
  • 如果 widows 服务正在运行,并且在那一刻如果有任何服务请求,WCF 服务需要响应“ windows 服务正在处理数据,所以请有时再发出请求”。如何识别windows服务正在运行?
4

1 回答 1

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

您可以使用 .Net FileWatcher类,可以在此处找到有用的示例

How to identify that the windows service is running

我认为您的 windows 服务必须在操作系统启动时启动,
如果您想知道 windows 服务是否正在执行文件处理,您可以实现单例模式示例)或使用互斥锁信号量锁定。

于 2013-05-07T17:29:45.447 回答